Страницы: 1
RSS
Макрос замены текста по регулярному выражению.
 
В одном из столбцов есть ячейки с текстом: Category Name: Blouses, Category Path: Women/Apparel/Shirts/Blouses
И вот такая регулярка
Код
Category\ Name.*?Path:\
Как заменить текст по регулярному выражению на |
Из этого: Category Name: Blouses, Category Path: Women/Apparel/Shirts/Blouses
Сделать: |Women/Apparel/Shirts/Blouses
Изменено: Deegrez - 10.10.2017 15:23:58
 
нужен файл-пример,как вариант в I1
Код
Function uuu$(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "[^:]+": .Global = True
  uuu = "|" & Trim(.Execute(t)(.Execute(t).Count - 1))
  End With
End Function
Изменено: sv2013 - 10.10.2017 16:41:33
 
Вот пример с данными.
 
В регулярном выражении в конце пробел должен стоять.
Код
Category\ Name.*?Path:\ 
 
Нашел вот такой макрос но он заменяет только 1 найденное в ячейке, а их несколько в каждой ячейке и идет к следующей, Как сделать что бы заменялись все найденные.
Код
Sub Replace()
  Dim re As New RegExp
  re.Pattern = "Category\ Name.*?Path:\ "
  Dim cell As Range
  For Each cell In ActiveSheet.Range("L1:L10")
   cell.Value = re.Replace(cell.Value, "44")
  Next cell
End Sub
Изменено: Deegrez - 12.10.2017 07:58:38
 
Добавил   re.Global = True и все заработало.
Страницы: 1
Наверх