Как вы выполняете регулярное выражение в Excel? - PullRequest
1 голос
/ 17 марта 2012

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

/. ([0-9] + []? Х []? [0-9] + []? Точек на дюйм). / г

Помощь!

Ответы [ 2 ]

6 голосов
/ 10 августа 2012

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

=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 5.5

2 голосов
/ 17 марта 2012

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

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

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

Обязательно добавьте правильную ссылку "Регулярные выражения Microsoft VBScript 5.5"

Надеюсь, эта помощь

...