文科生自学VBA-批量合并单元格内容

文科生自学VBA-批量合并单元格内容

首页休闲益智拼接大神游戏更新时间:2024-04-22

--用勇气改变可以改变的事情,用胸怀接受不可改变的事情,用智慧分辨两者的不同,学习编程成就更好的自己--

微软公司Office软件在商业办公领域一直占据着主流和主导地位,其中Excel在数据处理和分析领域有着强大的影响力,大部分人在经历几年职场历练后可以熟练的使用Excel函数透视表功能,基本可以轻松完成绝大多数工作和任务。但实际上Office的强大和独特之处还在于VBA,因为VBA能够胜任好多个性化二次开发,减少重复机械劳动从而实现办公自动化,开发效率高且开发周期短,尤其对于Excel重度使用者来说会了VBA简直就是如虎添翼啊!!!(本人外语专业毕业,机缘巧合爱上编程,自学道路曲曲折折,痛并快乐!)在这里总结一下自学VBA遇到的难点和重点,分享码过的代码和要点总结,希望能够给初学者一点启示和鼓励,同时愿意结交更多大神交流有助提升自己的水平。

使用VBA处理数据时往往需要批量合并单元格内容,如何使用merge方法来实现相关功能呢?今天通过一个有趣的实例来给大家展示如何使用相关方法吧,看以下截图:

题目:

需要处理的数据源A列数据,目标结果数据就是H列显示的样子,如何通过merge方法来实现批量合并单元格呢?可以把结果呈现在B列,其实只需要三步就可以搞定!!

第一步:根据A列单元格相邻内容判断合并B列空白单元格

第二步:把A列相邻内容一样的数据复制和移动到B列

第三步:B列中没有合并单元格内容根据A列补齐即可

整体代码汇总如下:

Sub 合并单元格1() '根据相邻单元格内容判断是否合并 Application.ScreenUpdating = False Sheets("20SEP21").Select Dim i As Long, lr As Long lr = ActiveSheet.UsedRange.Rows.Count For i = 2 To lr Step 1 If Range("A" & i) = Range("A" & i 1) Then Range(Range("B" & i), Range("B" & i 1)).Merge '如果相邻单元格内容一样则合并 End If Next i Application.ScreenUpdating = True End Sub Sub 合并单元格2() '根据单元格内容填充合并后的单元格 Application.ScreenUpdating = False Sheets("20SEP21").Select Dim i As Long, lr As Long lr = ActiveSheet.UsedRange.Rows.Count For i = 2 To lr Step 1 If Range("A" & i) = Range("A" & i 1) Then Range("B" & i).Value = Range("A" & i) '如果相邻单元格内容一样则将其内容复制到对应B列 End If Next i Application.ScreenUpdating = True End Sub Sub 合并单元格3() '根据单元格内容填充合未合并的单元格 Application.ScreenUpdating = False Sheets("20SEP21").Select Dim i As Long, lr As Long lr = ActiveSheet.UsedRange.Rows.Count For i = 2 To lr Step 1 If Range("B" & i) = "" Then Range("B" & i).Value = Range("A" & i) '如果B列中还有空白内容则需要填充对应数据 End If Next i Application.ScreenUpdating = True End Sub Sub 合并单元格() Application.ScreenUpdating = False Call 合并单元格1 Call 合并单元格2 Call 合并单元格3 Application.ScreenUpdating = True End Sub

通过以上实例看到批量合并单元格并不难,但需要注意的是未发生合并的单元格如何处理,自己动手试一下立马就明白个中道理了,如果碰到更加复杂的合并单元格需求也不用怕了。

END

我为人人,人人为我!!欢迎大家关注,点赞和转发!!!

~~人生不是赛场,梦想不容退场~~不断努力学习蜕变出一个更好的自己,不断分享学习路上的收获和感悟帮助他人成就自己!!!

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved