实现分列的两段excel vba 分列代码
发布时间:2023-04-12 00:50:38
excel vba 分列多用于一般常规的分列操作完成不了的情况。
Excel内置的分列,仅用于有规律的数据进行分列。比如下面的截图,这样的数据源,分列就可以考虑使用excel vba 分列完成。
A列数据源,要将汉字和数字分列后的效果如B:D列。
下面是两段excel vba 分列的代码,案例和答案来自论坛版主。
第一段excel vba 分列的代码:
Sub vba分列()
Dim oJs As Object, rng As Range
Set oJs = CreateObject("ScriptControl"): oJs.Language = "JScript"
oJs.eval "function gets(str){return str.replace(/(\d+)/,’ $1 ‘)}"
For Each rng In Range("A2", [A65536].End(3))
rng(1, 2).Resize(1, 3) = Split(oJs.codeobject.gets(rng.Value), " ")
Next
End Sub
第二段excel vba 分列的代码:
Sub vba分列()
Dim arr, i%, brr(), sma As Object
arr = Range("a2:a" & Cells(Rows.Count, 1).End(3).Row)
ReDim brr(1 To UBound(arr), 1 To 3)
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = "([^\d]+)(\d+)(.+)"
For i = 1 To UBound(arr)
Set sma = .Execute(arr(i, 1))(0).submatches
brr(i, 1) = sma(0)
brr(i, 2) = sma(1)
brr(i, 3) = sma(2)
Next
End With
Range("b2", Cells(Rows.Count, Columns.Count)).ClearComments
Range("b2").Resize(UBound(brr), UBound(brr, 2)).NumberFormat = "@"
Range("b2").Resize(UBound(brr), UBound(brr, 2)) = brr
Set sma = Nothing
End Sub
代码使用方法,在excel中,按下ALT+F11,打开VBE编辑器,单击插入——模块,复制上面任意一段代码,按F5键运行即可完成分列。


猜你喜欢
- 搜狗输入法不能切换怎么办?下文将为大家介绍搜狗输入法不能切换解决方法,如果你在使用搜狗输入法的过程中遇到了无法切换的情况,就请参考下文吧。
- Win10电脑如何关闭电脑的快速启动功能?目前,Win10可以说是市面上用户人数最多的电脑操作系统了,而许多用户觉得自己的电脑快速启动功能很
- 现在电脑的大批量普及和多媒体技术的快速发展,运用多媒体上课已逐渐成为一种不可逆转的 趋势。因而PPT课件制作将成为当前各教师的一项基本功,各
- 最近,很多用户都在问Win7怎么删除右键菜单“将此程序锁定到任务栏”选项,这可是难到了不少用户,因为很多用户喜欢把程序锁定到任务栏中,有的用
- 在Word中制作表格是我们经常遇到的问题之一,绘制斜线表头又是表格中经常用到的,比如两斜线表头,三斜线表头等,现在小编就和大家分享Word文
- 蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换。那我们要如何在设备管理器卸载蓝牙呢?下面小编就给大家带来
- Win10RS1首个预览版预览版11082出现问题,打开PowerShell程序时出现程序不响应的情况,遇到这个问题该怎么解决呢?我们今天来
- Windows11 22581.1是微软今天最新发布的预览版,这个版本将beta渠道和Dev渠道版本整合一起了,很多用户想第一时间去体验一下
- Win10兼容性视图怎么设置?在Win10系统中使用ie浏览器的用户都会需要使用到兼容性视图的设置,但是由于刚升级很多人都还不知道,那么到底
- 近几天有好几位用户前来咨询win10无法启动系统的情况,不知道大家会不会解决呢?遇到这种问题该怎么办呢?接下来就跟大家分享下小白我之前收集整
- 在WPS演示中绘制图形,我想很多朋友已经知道了。在这里,更恰当的做法是运用专业知识。毫无疑问,这些精美的图形修饰可以吸引更多的读者。也许简单
- 当我们编辑完成WPS文档后,保存发给别人,会出现打不开的问题,这时我们应该如何去解决呢?不懂的朋友,下面就让小编告诉你如何解决wps文档打不
- 有时在遇到了问题之后,却不知道该怎么解决,如何将Terminal活动完整的记录下来,下面有个不错的方法,大家可以看看有些MAC用户是Term
- 自从Win11系统出来以后,不少使用台式机的小伙伴都很感兴趣,那么我们要如何使用台式机却安装Win11系统呢?么要如何进行切换呢?下下面就由
- 在Excel表格中,根据日期可以推算出该日期是周几,不管年代多么久远,都可以测算出来,大家知道表格还有这种方法吗,今天小编就带领大家测算一下
- 在做word表项时,有的时候需要让用户给我们打分,如何在分数前的方框中打勾呢?这个问题是不是也同样困扰着你。
- 要用图表展现多个数据项的百分比占比情况,使用饼图是最常见的选择之一。在前几期的PPT图表美化教程当中介绍了许多有关饼图的设计美化思路,在这一
- 现在的Linux操作系统很多,琳琅满目,不过都有一个通病,安装盘太大了,动辄就4、5G的。下载起来也很耗时。而且装linux并不像安装win
- 首先在百度上搜索下载反编译工具ILSpy,解压后如图,双击.exe文件打开解压工具。选择file选项,点击“打开”。接着选择要反编译的文件,
- Win11系统dns怎么设置?dns是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。那么在