编写一段VBA代码,一键提取地址和电话,分别放在B列和C列。 有些小伙伴看到这种数据源,脑子可能会马上联想到使用快速填充进行提取即可,但实际不可取的,主要是A3单元格电话前面,还有3个数字101,所以快速填充提取就会出现错误。给大家推荐使用VBA来提取。 Sub test() Dim ar, i%, br() As String Dim reg As Object Set reg = CreateObject("vbscript.regexp") reg.Pattern = "\d{4}-\d+|\d{11}$" ar = Range("a1", Cells(Rows.Count, 1).End(xlUp)) ReDim br(1 To UBound(ar), 1 To 2) For i = 1 To UBound(ar) br(i, 2) = reg.Execute(ar(i, 1))(0) br(i, 1) = Replace(ar(i, 1), br(i, 2), "") Next i [b:c].Clear [b1].Resize(UBound(br), 2) = br End Sub 返回Excel界面,插入一个按钮,右键指定宏,关联上面的代码,运行即可。 |
|
来自: 部落窝教育BLW > 《部落窝excel/VBA》