如何在Excel中执行正则表达式?

时间:2012-03-16 21:13:36

标签: excel-2007

我正在尝试使用以下表达式来查找Excel数据中的文本模式。目标是在文本找到后删除。

/ ([0-9] + [] X [] [0-9] + []?DPI)。 / I

帮助!

2 个答案:

答案 0 :(得分: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正则表达式5.5参考

答案 1 :(得分:2)

您没有指定它,但我认为它使用的是VBA宏。我不认为你可以使用公式直接在工作表中进行正则表达式。

以下链接可以帮助您使用正则表达式和VBA:

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

请务必添加正确的引用“Microsoft VBScript Regular Expressions 5.5”

希望这个帮助