--用勇气改变可以改变的事情,用胸怀接受不可改变的事情,用智慧分辨两者的不同,学习编程成就更好的自己--
微软公司Office软件在商业办公领域一直占据着主流和主导地位,其中Excel在数据处理和分析领域有着强大的影响力,大部分人在经历几年职场历练后可以熟练的使用Excel函数和透视表功能,基本可以轻松完成绝大多数工作和任务。但实际上Office的强大和独特之处还在于VBA,因为VBA能够胜任好多个性化二次开发,减少重复机械劳动从而实现办公自动化,开发效率高且开发周期短,尤其对于Excel重度使用者来说会了VBA简直就是如虎添翼啊!!!(本人外语专业毕业,机缘巧合爱上编程,自学道路曲曲折折,痛并快乐!)在这里总结一下自学VBA遇到的难点和重点,分享码过的代码和要点总结,希望能够给初学者一点启示和鼓励,同时愿意结交更多大神交流有助提升自己的水平。
上回说到如何使用VBA批量合并单元格内容,反过来如何批量拆分已经合并好的单元格内容呢?今天通过一个有趣的实例来给大家展示如何使用相关方法吧,看以下截图:
题目:
需要处理的数据源A列数据,目标结果数据就是H列显示的样子,如何通过unmerge方法来实现批量拆分已合并好的单元格呢?其实只需要二步就可以搞定!!
第一步:根据A列单元格是否有数据内容进行拆分还原
第二步:根据A列单元格是否为空填充相邻单元格内容
代码汇总如下:
Sub Seperate1() '拆分单元格第一步-把合并单元格逐一拆开成单独单元格
Application.ScreenUpdating = False
Sheets("21SEP21").Select
Dim i As Long, lr As Long
lr = ActiveSheet.UsedRange.Rows.Count
For i = 2 To lr
If Range("A" & i) <> "" Then
Range("A" & i).UnMerge
End If
Next i
Application.ScreenUpdating = True
End Sub
Sub Seperate2() '拆分单元格第二步-循环便利判断来填充数据
Application.ScreenUpdating = False
Sheets("21SEP21").Select
Dim i As Long, lr As Long
lr = ActiveSheet.UsedRange.Rows.Count
For i = 3 To lr Step 1
If Range("A" & i) = "" Then
Range("A" & i) = Range("A" & i - 1)
End If
Next i
Application.ScreenUpdating = True
End Sub
Sub SeperateTotal() '拆分单元格汇总
Application.ScreenUpdating = False
Call Seperate1
Call Seperate2
Application.ScreenUpdating = True
End Sub
这个题目虽然不是特别复杂,但涉及到了两三个比较重要的VBA知识点,例如:UnMerge方法的使用,利用邻近单元格关系进行遍历判断和处理,合理利用空白单元格来进行判断和处理等,所以小白们一定要注意VBA重点知识的理解和掌握,在解决复杂问题时才会更加游刃有余!!!
END
我为人人,人人为我!!欢迎大家关注,点赞和转发!!!
~~人生不是赛场,梦想不容退场~~不断努力学习蜕变出一个更好的自己,不断分享学习路上的收获和感悟帮助他人成就自己!!!
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved