今天教一个 VBA 的经典案例:自动制作工资条。 这也是一个非常实用的案例,掌握了思路,在很多类似场景都能应用,比如隔行插入空行等等。 案例: 以下是原始的工作表,要做成工资条,需要隔行插入表头,打印后剪下来。 如何能点一下按键就自动插入所有表头?像图二那样? 解决方案: 我们刚开始教 VBA 的时候说过,初学者可以先录制宏,再按需求修改 VBA 代码,快速完成程序开发,今天就用这个思路。 1. 点击菜单栏的“开发工具”-->'宏'-->'录制宏' 2. 给宏取名“工资条”-->点击'确定' 3. 选中表头行 -->复制-->将鼠标移至需要插入表头的行-->右键单击“插入复制的单元格” 4. 停止录制宏 5. 点击“开发工具”-->“插入”-->'按钮' 6. 在弹出的指定宏窗口中选择我们刚才创建的“工资条”宏 --> 单击“确定” 7. 将按钮名称改为“制作工资条” 8. 选中按钮 -->右键单击“指定宏” 9. 在弹出的窗口中选择“工资条”-->点击“编辑” 10. 在打开的 VBE 代码窗口里,就可以看到刚才录制的宏代码
Sub 工资条() ' ' 工资条 Macro ' Rows('4:4').Select '选中第四行 Selection.Copy '复制所选区域 Rows('6:6').Select '选中第六行 Selection.Insert Shift:=xlDown '插入复制的区域 End Sub 11. 我们曾经说过,录制宏只能实现一个动作,无法循环调用。
12. 在代码中加入、修改红色部分,就完成了
Sub 工资条() ' ' 工资条 Macro ' Dim i As Long For i = 6 To 200 Step 2 Rows('4:4').Select '选中第四行 Selection.Copy '复制所选区域 Rows(i).Select Selection.Insert Shift:=xlDown '插入复制的区域
Next End Sub 14. 现在,按一下按钮,泡杯茶回来,工资条就做好了。 |
|