我需要检查来自单元格的最后9个字符是否遵循模式。 搜索的模式是空格两个字母和六个数字。 单元格包含一些文本,然后应具有此模式。 通常搜索的单元格内容看起来像这样: “拖拉机割草机PT009988” 问候 米哈尔
答案 0 :(得分:3)
这将测试此。
Public Function RegExTest(sCellContent As String) As String
Dim sContent As String, sMatch As Variant, i As Long
sContent = Right(sCellContent, 9)
With CreateObject("VBScript.RegExp")
.Global = True
.ignorecase = True
.Pattern = " [A-Za-z]{2}[0-9]{6}"
If .test(sContent) Then
Set sMatch = .Execute(sContent)
RegExTest = sMatch(i)
Exit Function
End If
End With
End Function
这是需要匹配的模式:
" [A-Za-z]{2}[0-9]{6}"
1个空格,2个字母(大写和小写)和6个数字。
如果范围A1
中的值为Tractor mowers PT009988
,并且您将此公式放在B1
=RegExTest(A1)
中,则B1
中的输出将为PT009988
}。
如果您不在意这是否在最后9个字符中,请将sContent = Right(sCellContent, 9)
更改为sContent = sCellContent
答案 1 :(得分:3)