excel vba 实例(11)-拆分单元格并自动填充

之前介绍过快速合并相同单元格的实例,传送门在这里:

Excel vba 实例(5) - 快速合并n多个相同值的单元格

前几天后台有伙伴提出,能不能来个逆的操作,拆分合并的单元格并填充。

还是之前的那个图如下,ABCDE组已经合并好了。

excel vba 实例(11)-拆分单元格并自动填充

现在的要求就是拆分合并的这几组,然后要把组名对应的填充进去。

同样也不难,把代码放上来

Sub ubMergeRange()
Dim Rng As Range
Dim i&, Col&, Fist, Last
Set Rng = Application.InputBox("请选择单列数据列!", Type:=8)
'用户选择数据列
Set Rng = Intersect(Rng.Parent.UsedRange, Rng)
'intersect语句避免用户选择整列造成无谓运算
On Error Resume Next
Rng.Parent.Select '激活Rng对象所在的工作表,避免跨工作表操作问题
Rng.UnMerge
Rng.SpecialCells(xlCellTypeBlanks) = "=" & Rng.SpecialCells(xlCellTypeBlanks)(1, 1).Offset(-1).Address(0, 0)
Rng.Copy: Rng.PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
Rng.VerticalAlignment = xlCenter '格式上下居中
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "拆分填充完成。"
End Sub

效果如下:

excel vba 实例(11)-拆分单元格并自动填充

同样的,永恒君把上面实例VBA的文件分享出来,需要的就直接使用吧。

wx公号(图片上有)后台回复拆分填充即可。


不少人对VBA代码有抵触心理,其实没有那么复杂,把他看成一个稍微复杂点的函数即可。

当然如果并不打算深入学习VBA,只是临时使用下,那只要会复制黏贴就好了!

至于怎么用VBA代码,可以参考之前的文章:

Excel vba 实例(1) - 批量制作工资表头

Excel vba 实例(2) - 批量将工作表拆分为单独文件

Excel vba 实例(3) - 多个工作簿批量合并

Excel vba 实例(4) - 根据已有名称,批量新建表格

Excel vba 实例(5) - 快速合并n多个相同值的单元格

Excel vba 实例(6) - 一键汇总多个sheet数据到总表

Excel vba 实例(7)-一键批量打印工作簿

Excel vba 实例(8)- 利用正则表达式进行定向提取

Excel vba 实例(9)- 批量插入、删除表格中的空行

Excel vba 实例(10)- 统计同一列中出现次数并标注


Excel VBA功能很强大,但是要熟练的运用起来还是有一定的难度,好在永恒君帮大家搜集了几套关于VBA的视频教程,非常的实用。

需要的话,后台回复“VBA”获取吧~~

excel vba 实例(11)-拆分单元格并自动填充

excel vba 实例(11)-拆分单元格并自动填充

excel vba 实例(11)-拆分单元格并自动填充

欢迎交流!


分享到:


相關文章: