请选择 进入手机版 | 继续访问电脑版

Excel完美论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

快捷登录

 
版块
版块
班级
班级
班级
班级
其它
其它
查看: 1258|回复: 3

【Excel分享】太神奇了,自动分开编号姓名

[复制链接]

1万

积分

17

技术分

509

鲜花

管理员

佛山小老鼠

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

财富币
737846
学费币
3221
推广币
228849
学员红花
0
注册时间
2014-12-17

管理员基础技巧讲师函数讲师VBA编程讲师 透视表讲师

    购买在线课件和视频
    报班咨询联系电话
    Tel:186-6424-3619
    联系人:佛山小老鼠
    在线网络开设YY班级
    函数初级班
    函数中级班
    函数高级班
    VBA编程初级班
    VBA编程中级班
    VBA编程高级班
    透视表班
    290集视频
    525集excel视频大全
    189集免费excel视频
发表于 2018-2-24 18:47:32 | 显示全部楼层 |阅读模式
一键分享 一键分享
大家好,今天和大家分享"太神奇了,自动分开编号姓名",这是来自一学员提问,A1单元格有内容拆分成B列,C列,B列是数字编辑,C列是姓名,学员开始要求我用函数实现,函数应该可以实现,不过要横向显示,然后转置一下应该可以实现,不过我也觉得函数写得吃力,今天我还是力荐大家用vba加正则表达式解决这一类问题 000.png
一、动画效果
11.gif
二、代码
  1. Option Explicit
  2. Sub test()
  3.   Dim Reg, Ma, Mat, arr1(1 To 10000, 1 To 2), k '定义变量
  4.   Set Reg = CreateObject("Vbscript.RegExp") '引用外部对象正则
  5.   With Reg
  6.     .Global = True '贪婪性
  7.     .Pattern = "(\d+)(\D+)" '数字加非数字,且分组
  8.   End With
  9.   Set Mat = Reg.Execute([a1]) '把所有匹配装入Mat
  10.   For Each Ma In Mat '循环所有的匹配的
  11.     k = k + 1 '计数
  12.     arr1(k, 1) = Ma.submatches(0) '把数字装和arr1第1列
  13.     arr1(k, 2) = Ma.submatches(1) '把数字装和arr1第1列
  14.   Next Ma
  15.   Range("B1:C50000").Clear '清空B列,C列
  16.   [B1] = "编号": [C1] = "姓名" '读出头表
  17.   [B2].Resize(k, 2) = arr1 '读出arr1
  18. End Sub
  19. 'Reg.Replace(M, "$" & x)
  20. Sub 清空()
  21.     Range("B1:C50000").Clear '清空B列,C列
  22. End Sub
复制代码


三、操作方法
  • 第1步:复制上面的代码
  • 第2步:快捷键Alt+F11打开后台
  • 第3步:后台里的插入菜单→模块→粘贴刚才复制的代码
  • 第4步:把光标定位到任意一行代码里,快捷键F5运行代码

完美在线教育.rar

15.2 KB, 下载次数: 36


手机扫码浏览
问题咨询交流,不在线时,可以加我微信,微信号18664243619
函数、VBA、透视表交流学习QQ群2801--7317--4,我的电话18664243619,我的QQ732243800,更多的学习也可以关注我们的公众号:vba18664243619
回复

使用道具 举报

62

积分

0

技术分

0

鲜花

初级会员

Rank: 2

财富币
96
学费币
0
推广币
0
学员红花
0
注册时间
2015-1-24
    购买在线课件和视频
    报班咨询联系电话
    Tel:186-6424-3619
    联系人:佛山小老鼠
    在线网络开设YY班级
    函数初级班
    函数中级班
    函数高级班
    VBA编程初级班
    VBA编程中级班
    VBA编程高级班
    透视表班
    290集视频
    525集excel视频大全
    189集免费excel视频
发表于 2018-2-24 21:19:10 | 显示全部楼层
高大上的vba
回复 支持 反对

使用道具 举报

49

积分

0

技术分

0

鲜花

初级会员

Rank: 2

财富币
87
学费币
0
推广币
0
学员红花
0
注册时间
2015-6-6
    购买在线课件和视频
    报班咨询联系电话
    Tel:186-6424-3619
    联系人:佛山小老鼠
    在线网络开设YY班级
    函数初级班
    函数中级班
    函数高级班
    VBA编程初级班
    VBA编程中级班
    VBA编程高级班
    透视表班
    290集视频
    525集excel视频大全
    189集免费excel视频
发表于 2018-2-24 21:20:00 | 显示全部楼层
厉害
回复

使用道具 举报

60

积分

0

技术分

1

鲜花

初级会员

Rank: 2

财富币
89
学费币
0
推广币
0
学员红花
0
注册时间
2015-1-29
    购买在线课件和视频
    报班咨询联系电话
    Tel:186-6424-3619
    联系人:佛山小老鼠
    在线网络开设YY班级
    函数初级班
    函数中级班
    函数高级班
    VBA编程初级班
    VBA编程中级班
    VBA编程高级班
    透视表班
    290集视频
    525集excel视频大全
    189集免费excel视频
发表于 2018-3-5 13:33:19 | 显示全部楼层
不懂vba
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 快速回帖:

最近新开的班级:2018-7-28开vba初级班,周二、周四、周六晚上8点到10点上课      立即注册  登录 

手机微信——扫一扫 关注完美论坛公众号天天收到Excel分享

QQ|微信绑定|Archiver|手机版|Excel完美论坛 ( 粤ICP备14102225号  

GMT+8, 2018-9-25 20:41 , Processed in 0.111523 second(s), 52 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表