课程内容:
第一节课:第一次编写代码-For循环
本课程内容:
- 宏:一组动作的集合。用于数据结构必须一模一样(采用录制宏和使用宏)。
- 录制相对引用的宏:把下图A列的日期都做标注--操作:录制宏--点击使用相对引用--将首个日期为星期一改填充色为蓝色,再选中7个后的单元格---结束宏录制。
- 编写for循环:for和next成对出现,for后面接着设置新的变量及范围,在使用变量之前,要先对变量进行声明该变量类型,for和next之间为重复执行的动作。如:生成一个按钮,供hr小姐姐快速生成工作条。即左边excel快速变成右边excel形式。(使用for之前,要多试下录制的宏是否可用)思考方式:找到问题重复的是哪一段。
操作思路:
第一步:先录制需要重复操作的宏(本案例需要录制两个宏:第一个宏,录制宏--运用"录制相对引的宏",复制第一行,隔两行插入复制的内容----结束宏;第二个宏,录制宏--使用绝对引用(取消相对引用)--选中第一行--结束录制宏)。
第二步,写for循环语句并粘贴第一个宏代码。到VBA编辑器,通过刚刚录制的第一个宏,可以得到重复操作的代码,本次需要将工资条第一行重复操作10次,使用前需要先定义变量。
第三步,vba代码中,加入第二个宏代码,不参与for循环。主要是第一个宏为相对引用,hr在使用时,必须先要选择第一行才行,不太方便hr操作,即我们设定一个绝对引用即可。
第四步,添加窗体按钮。让hr点击一个按钮就可以完成生成工资条的操作,开发工具选项卡--控件插入--表单控件的窗体按钮--选择对应的宏名称--设置控件格式--大小位置均固定。
for语句书写大致过程
'生成工资条
Sub gzt()
Dim i As Integer
Rows("1:1").Select
For i = 1 To 10
Selection.Copy
ActiveCell.Offset(2, 0).Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown
Next
End Sub
'恢复工资表
Sub hfgzb()
Dim i As Integer
Rows("3:3").Select
For i = 1 To 10
Selection.Delete Shift:=xlUp
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Next
End Sub