2012-03-16 3 views
1

Я пытаюсь использовать следующее выражение, чтобы найти образец текста в моих данных Excel. Цель состоит в том, чтобы удалить текст после его нахождения.Как вы выполняете регулярное выражение в Excel?

/. ([0-9] + []? X []? [0-9] + []? Dpi)./i

Помощь!

+2

Добро пожаловать для переполнения стека. Рекомендуется показать, что вы пробовали до сих пор - конкретные проблемы, как правило, получают наибольшее внимание. Не могли бы вы привести пример? – JimmyPena

ответ

2

Вы не указали это, но я предположил, что он использует макрос VBA. я не думаю, что вы можете делать регулярное выражение непосредственно на листе, используя формулу.

Следующая ссылка должна помочь вам с регулярным выражением и VBA:

http://www.regular-expressions.info/vb.html

Просто убедитесь, чтобы добавить правильную ссылку "Microsoft VBScript Regular Expressions 5,5"

Надежда эта помощь

6

Я создал функцию, определенную пользователем, для запуска поиска в регулярном выражении и отображения окончательного соответствия в ячейке.

=udfRegEx([Cell you want to find the expression],[Cell with the regular expression you want to use]) 

Вам нужно открыть редактор Visual Basic и вставьте следующий код в модуль:

Function udfRegEx(CellLocation As Range, RegPattern As String) 

Dim RegEx As Object, RegMatchCollection As Object, RegMatch As Object 
Dim OutPutStr As String 

    Set RegEx = CreateObject("vbscript.regexp") 
    With RegEx 
     .Global = True 
     .Pattern = RegPattern 
    End With 

     OutPutStr = "" 
     Set RegMatchCollection = RegEx.Execute(CellLocation.Value) 
     For Each RegMatch In RegMatchCollection 
      OutPutStr = OutPutStr & RegMatch 
     Next 
     udfRegEx = OutPutStr 

    Set RegMatchCollection = Nothing 
    Set RegEx = Nothing 
    Set Myrange = Nothing 

End Function 

Также не забудьте добавить ссылку на Microsoft VBScript Regular Expressions 5,5

+0

Отличная функция, но есть ли причина для вашего определения «i»? Это делает функцию не работать для меня в excel 2013, и я не вижу, чтобы ее значение использовалось где угодно. Комментируя это, похоже, исправляет проблему. – user2027202827

+0

Я определил его для использования в функции, но похоже, что моя функция была отредактирована. Больше не нужно «я» – Emeralds

Смежные вопросы