通过正则表达式提取excel特定列中含有关键字的所有行数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过正则表达式提取excel特定列中含有关键字的所有行数据相关的知识,希望对你有一定的参考价值。
在 Excel 中打开需要提取数据excel文件,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出现右侧的编辑代码窗口(如下图)
在代码窗口中输入以下代码:
1 Private Sub RegExp_GetNeedData() 2 3 Dim RegExp As Object 4 Dim SearchRange As Range, Cell As Range 5 6 ‘此处定义正则表达式 7 Set RegExp = CreateObject("vbscript.regexp") 8 9 ‘需要重新定义的地方在这里 10 keyword = "keyword" 11 n = 5 12 RangeVar = "D1:D100" 13 14 RegExp.Pattern = keyword 15 ‘此处指定查找范围 16 Set SearchRange = ActiveSheet.Range(RangeVar) 17 Dim i As Integer 18 For i = 1 To n 19 Cells(1, n + i + 1) = Cells(1, i) 20 Next 21 Line = 2 22 ‘遍历查找范围内的单元格 23 For Each Cell In SearchRange 24 cloumn = Cell.Column 25 Set Matches = RegExp.Execute(Cell.Value) 26 If Matches.Count >= 1 Then 27 Set Match = Matches(0) 28 Dim j As Integer 29 For j = 1 To n 30 Cells(Line, n + j + 1) = Cells(Cell.Row, j) 31 Next 32 Line = Line + 1 33 End If 34 Next 35 36 End Sub
根据需要可以替换掉keyword ,n, RangeVar;他们的意思分别是,需要匹配的关键字,表格数据列数,要匹配关键字的范围;
以上是关于通过正则表达式提取excel特定列中含有关键字的所有行数据的主要内容,如果未能解决你的问题,请参考以下文章