
正文
通过正则表达式提取excel特定列中含有关键字的所有行数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在 Excel 中打开需要提取数据excel文件,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出现右侧的编辑代码窗口(如下图)

在代码窗口中输入以下代码:
Private Sub RegExp_GetNeedData() Dim RegExp As Object Dim SearchRange As Range, Cell As Range '此处定义正则表达式 Set RegExp = CreateObject("vbscript.regexp") '需要重新定义的地方在这里 keyword = "keyword" n = RangeVar = "D1:D100" RegExp.Pattern = keyword '此处指定查找范围 Set SearchRange = ActiveSheet.Range(RangeVar) Dim i As Integer To n Cells(, n + i + ) = Cells(, i) Next Line = '遍历查找范围内的单元格 For Each Cell In SearchRange cloumn = Cell.Column Set Matches = RegExp.Execute(Cell.Value) Then ) Dim j As Integer To n Cells(Line, n + j + ) = Cells(Cell.Row, j) Next Line = Line + End If Next End Sub
根据需要可以替换掉keyword ,n, RangeVar;他们的意思分别是,需要匹配的关键字,表格数据列数,要匹配关键字的范围;





