如果你一直想学Excel的VBA,但是苦于没有一个好的老师

Excel本身就提供这样的帮助手段:录制宏

录制宏,将Excel操作直接映射成对应的VBA代码


Part 1:录制宏操作
  1. 打开任一Excel,菜单栏开发工具-点击代码区域录制宏按钮,如图1所示
  2. 或者直接点击左下角录制宏按钮,如图2所示
  3. 打开录制宏后,接下来所有Excel操作,都会有对应的VBA代码在后台生成

excel之vba入门与提高(VBA与Excel入门系列-10-VBA自学神器-录制宏)(1)

图1 打开录制宏

excel之vba入门与提高(VBA与Excel入门系列-10-VBA自学神器-录制宏)(2)

图2 打开录制宏

Part 2:录制宏举例:排序
  1. 点击录制宏,开始宏录制,定义宏名,如图3所示
  2. 选择拟排序区域
  3. 菜单栏:开始-编辑块-筛选和排序-升序,如图4和如图5所示
  4. 点击录制宏,结束宏录制
  5. 菜单开发工具-代码块-宏-选择刚创建的宏,点击右侧编辑
  6. 可将该排序代码复制到其它需要使用的地方,根据需要做一些改动

excel之vba入门与提高(VBA与Excel入门系列-10-VBA自学神器-录制宏)(3)

图3 录制宏名称定义

excel之vba入门与提高(VBA与Excel入门系列-10-VBA自学神器-录制宏)(4)

图4 排序前

excel之vba入门与提高(VBA与Excel入门系列-10-VBA自学神器-录制宏)(5)

图5 排序后

Sub 宏1() ' ' 宏1 宏 ' ' Columns("F:F").Select ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range("F1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range("F1:F18") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub

excel之vba入门与提高(VBA与Excel入门系列-10-VBA自学神器-录制宏)(6)

图6 代码截图

注:录制宏无法实现循环,判断功能,但很多操作代码都是可以参考的


以上,为本次的介绍内容,下回见。

本文首发于Excel高效办公之VBA。排版和细节略作修改,发于头条

,