太神奇了,自动分开编号姓名
大家好,今天和大家分享"太神奇了,自动分开编号姓名",这是来自一学员提问,A1单元格有内容拆分成B列,C列,B列是数字编辑,C列是姓名,学员开始要求我用函数实现,函数应该可以实现,不过要横向显示,然后转置一下应该可以实现,不过我也觉得函数写得吃力,今天我还是力荐大家用vba加正则表达式解决这一类问题,想要的效果如下图
一、动画效果
二、代码
Option Explicit
Sub test()
Dim Reg, Ma, Mat, arr1(1 To 10000, 1 To 2), k '定义变量
Set Reg = CreateObject("Vbscript.RegExp") '引用外部对象正则
With Reg
.Global = True '贪婪性
.Pattern = "(\d+)(\D+)" '数字加非数字,且分组
End With
Set Mat = Reg.Execute([a1]) '把所有匹配装入Mat
For Each Ma In Mat '循环所有的匹配的
k = k + 1 '计数
arr1(k, 1) = Ma.submatches(0) '把数字装和arr1第1列
arr1(k, 2) = Ma.submatches(1) '把数字装和arr1第1列
Next Ma
Range("B1:C50000").Clear '清空B列,C列
[B1] = "编号": [C1] = "姓名" '读出头表
[B2].Resize(k, 2) = arr1 '读出arr1
End Sub
'Reg.Replace(M, "$" & x)
Sub 清空()
Range("B1:C50000").Clear '清空B列,C列
End Sub
三、操作方法
第1步:复制上面的代码
第2步:快捷键Alt+F11打开后台
第3步:后台里的插入菜单→模块→粘贴刚才复制的代码
第4步:把光标定位到任意一行代码里,快捷键F5运行代码
关注方法:用手指长按下面的二维码图4秒→识别图中的二维码→关注
四、近10期文章:大家可以用手指点击就可以查找看了,如果觉得不错,记得分享到你的朋友圈
290集函数案例视频售价100元
包含函数数组、嵌套、加权、降维等讲解
525集Excel 视频售价100元
包括基础技巧、函数、透视表,VBA。
在线网络开设的班级,常年招生
领取专属 10元无门槛券
私享最新 技术干货