excel 利用正则表达式匹配工作表中的数据

Posted 一直在追逐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel 利用正则表达式匹配工作表中的数据相关的知识,希望对你有一定的参考价值。

excel 利用正则表达式匹配工作表中的数据

sheet1中A列放需要匹配的数据

sheet2中A列放正则表达式,可以是多个,但至少一个

匹配到了则在sheet1中C列对应行显示相关标记内容,比如本案例中显示1111

Sub Test()
atr = Worksheets("Sheet1").Range("a65536").End(xlUp).Row
btr = Worksheets("Sheet2").Range("a65536").End(xlUp).Row

a = Worksheets("Sheet1").Range("a1:a" & atr).Value
b = Worksheets("Sheet2").Range("a1:a" & btr).Value

ReDim c(1 To atr, 1 To 1)
Set reg = CreateObject("vbscript.regexp")
With reg
.Global = True
.IgnoreCase = True
For ar = 1 To atr
For br = 1 To btr
If btr = 1 Then
.Pattern = b
Else
.Pattern = b(br, 1)
End If
If .Test(a(ar, 1)) Then
c(ar, 1) = "1111"
Exit For
End If
Next
Next
End With
Range("c1:c" & atr) = c
Set reg = Nothing
End Sub

 

以上是关于excel 利用正则表达式匹配工作表中的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式从数据框中分离数字?

正则表达式匹配单元格公式,其中工作表名称与 LibreOffice Calc 中的 uderscore aka Sheet1_2

求一个匹配 以指定字符开头,指定字符结尾,中间内容任意的正则表达式

使用正则表达式加载数据查询

Hive 9Hive 在表中添加正则匹配

如何用excel中的VBA的正则表达式提取出字符串?