День добрый. Возможно ли разделить текст? (см приложенный файл) формула или макрос не важно. Поиском по форуму нашёл похожие темы , но там тексты с разными разделительными символами. у меня же нет таких символов, единственно есть нумерация римскими цифрами и арабскими. но как это прикрутить для разделения не знаю.
День добрый. Возможно ли разделить текст? (см приложенный файл) формула или макрос не важно. Поиском по форуму нашёл похожие темы , но там тексты с разными разделительными символами. у меня же нет таких символов, единственно есть нумерация римскими цифрами и арабскими. но как это прикрутить для разделения не знаю.ilikeread
Function rep(t$, i <img rel="usm" src="/sml2/wacko.gif" border="0" align="absmiddle" alt="%)" /> Dim s$ With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\s([0-9IVX]+\.)" s = .Replace(t, "@$1") s = "@" & s .Pattern = "@[^@]+" s = .Execute(s)(i) s = Replace(s, "@", "") rep = s End With End Function
[/vba]
Вариант на регулярках: [vba]
Код
Function rep(t$, i <img rel="usm" src="/sml2/wacko.gif" border="0" align="absmiddle" alt="%)" /> Dim s$ With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\s([0-9IVX]+\.)" s = .Replace(t, "@$1") s = "@" & s .Pattern = "@[^@]+" s = .Execute(s)(i) s = Replace(s, "@", "") rep = s End With End Function
прикол - я поступил также, собственно, паттерн для функции изначально в Word-е и написал UPD вот так поточнее будет: [vba]
Код
Function rep(t$, i%) Dim s$ With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\.(\d+)" s = .Replace(t, ",$1") .Pattern = "\s(([0-9]+|[IVX]+)\.)" s = .Replace(s, "@$1") s = "@" & s .Pattern = "@[^@]+" s = .Execute(s)(i) s = Replace(s, "@", "") rep = s End With End Function
[/vba]
Цитата
А я перекинула в Word
прикол - я поступил также, собственно, паттерн для функции изначально в Word-е и написал UPD вот так поточнее будет: [vba]
Код
Function rep(t$, i%) Dim s$ With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\.(\d+)" s = .Replace(t, ",$1") .Pattern = "\s(([0-9]+|[IVX]+)\.)" s = .Replace(s, "@$1") s = "@" & s .Pattern = "@[^@]+" s = .Execute(s)(i) s = Replace(s, "@", "") rep = s End With End Function