共享两段excel vba 分列代码实现不规则数据源的分列
发布时间:2023-11-09 00:17:39
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键运行即可完成分列。


猜你喜欢
- 如何保持Mac电脑的温度?Mac笔记本电脑配有感应器,可检测电脑内部的温度变化。如果您的 Mac 笔记本电脑配有风扇,它们会自动开启以便为关
- 许多小伙伴在是用电脑的时候经常会出现各种各样奇奇怪怪的问题,例如不少小伙伴正在玩游戏的时候电脑就蓝屏死机了,显示以下内容,下面就和小编一起看
- 修改文件夹和搜索选项中的相关设置即可实现在打开窗口时总是显示菜单栏。修改文件夹和搜索选项中的相关设置即可实现在打开窗口时总是显示菜单栏。第一
- 暗影精灵笔记本是惠普旗下的知名游戏本系列,拥有非常好的使用口碑和市场。目前有用户询问,暗影精灵7可以升级Win11吗?以下小编为你做详细的解
- 在使用电脑的时候,我们常常会遇到程序未响应,这时候我们可能就需要去结束进程了,可是很多用户不知道如何打开任务管理器?其实打开任务管理器的方法
- Win11搜索栏无法输入怎么解决?很多用户都已经安装了Win11系统,在使用的过程中难免会遇到故障问题,最近就有用户反映在使用搜索栏的时候,
- 很多人在购买电脑时候会发现电脑上面有个type-c借口,很多人不知道这个借口可以拿来做什么,小编这整理了一下type-c借口的具体作用,接下
- Office 2007安装失败写入注册表时出错1406该怎么办?出现这个问题就需要管理员权限,今天我们分享两种解决办法,一个是通过修改注册表
- 有的时候,当我们打开Win7应用程序时,会出现应用程序正常初始化“0xc0000135”失败的相关提示。那么当遇到这个问题的时候要怎么解决呢
- Excel中可能会需要画正弦函数图的时候,正弦函数图具体该怎么画呢?对于新手来说还是有一定难度,怎么办?下面是小编带来excel 绘制正弦函
- 电脑上安装过的大部分软件都可以在开始餐单中进行一些简单的操作,QQ影音当然也不例外,而且在开始菜单中还可以直接清除QQ影音中的播放痕迹!那么
- 屏幕画面出现闪烁或不规则闪动,有时会出现横条线和竖条线。不得不进行重装系统,之前安装的游戏、文件、图片都要重新下载,也不一定能解决的,其实造
- 事实上,在电脑上输入单词和数字的方法几乎是一样的。只要输入法得到调整,其他一切都很容易说。当然,在Excel中输入文本也是如此。然而,在Ex
- 如何知道发出去的短信对方看了没有?虽然iPhone手机功能很强大,但是它在很多时候还是要依托于各种插件来实现,今天我们一起来学习下TypeS
- 全能王CAD编辑器如何修改虚线过密的情况?相信大家在使用一些CAD制图软件的时候经常遇到一些问题不知道如何解决,今天小编就给大家推荐一款CA
- 在公共场合经常看到有人播放音频外放,这样就会很不礼貌,所以通常情况下我们都会戴上耳机。手机插上耳机之后,就只能在耳机里听到声音,如果声音是通
- 如今的中小学教学过程中,生动的课堂课件极其重要。“特别是历史、地理等文科科目,需要有图文并茂的课件更容易吸引学生的注意力,从而提高学生课堂上
- 很多用户在升级Win11系统重启后,出现了任务栏无响应、点击桌面图标无反应等严重的Bug,影响用户的正常使用。其实这是Windows11系统
- 在编辑完文档后,会经常发现,有些内容要删除,但是向名列的内容,每次删除都要一个一个删,太浪费时间了,用WPS就可以轻松把那些名列数字,一下子
- 很多用户在使用office2010 excel的过程中,在黏贴数字的过程中,被提示:系统资源不足,无法完全显示。无奈,只能关掉excel,有