首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

太神奇了,自动分开编号姓名

太神奇了,自动分开编号姓名

大家好,今天和大家分享"太神奇了,自动分开编号姓名",这是来自一学员提问,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。

在线网络开设的班级,常年招生

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180225B00EE300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券