一键生成工资条、工资表,点起来超爽( 二 )
文章图片
Step 03
现在已经实现了在第3行插入标题 , 下面要实现在第5行插入标题 。 将A3改成A5 , 点绿色运行按钮 。
文章图片
接着是7、9、11……如果一次次改 , 那就体现不了VBA的优越性了 , 前面已经提过 , 可以借助循环语句 。
Sub 工资条()
For i = 1 To 18
Rows("1:1").Select
Selection.Copy
Range("A" & i * 2 + 1).Select
Selection.Insert Shift:=xlDown
Next
End Sub
现在是19个人 , 而第一个人有标题 , 也就是需要操作18次 。 i * 2 + 1就是获取数字3、5、7……
写代码的时候 , 养成一个好习惯 , 就是定义变量 , 最终代码就出来了 。
Sub 工资条()
Dim i As Integer
For i = 1 To 18
Rows("1:1").Select
Selection.Copy
Range("A" & i * 2 + 1).Select
Selection.Insert Shift:=xlDown
Next
End Sub
Step 04
将原来手工插入的标题删除掉 , 运行代码 , 即可生成工资条 。
文章图片
不难吧 。
现在如何将工资条复原成工资表 , 也就是将3、5、7……行删除掉 。
同理 , 录制宏 , 改代码 。
Step 01
录制一个宏 , 选择A3 , 删除整行 。
文章图片
Step 02
点VB进入后台 , 再点模块 , 就可以看到刚刚录制的宏 。
文章图片
Step 03
有了前面的基础 , 现在修改代码就变得简单 , 将工资条修改的部分全部照搬过来 。
文章图片
刚刚录制宏的时候是从上删除行 , 删除后, 你会发现标题行错位了 , 现在并不是3、5、7……行 。
文章图片
记住 , 删除行跟插入行有所不同 , 插入行是从上面往下插入 , 而删除行要从下面往上删除 。
现在是从18倒数到1 , Step -1就是步长-1 。
Sub 工资表()
Dim i As Integer
For i = 18 To 1 Step -1
Range("A" & i * 2 + 1).Select
Selection.EntireRow.Delete
Next
End Sub
推荐阅读
- 就业|二季度就业市场景气报告出炉:一线城市应届生起薪超8000,你的工资在几线?
- 绩效|5个有关教师绩效工资的趣段子,只有老师才能看得懂!
- 失踪|56年前,工厂女工拿着全厂工资神秘失踪,竟被藏在水泥地里21年
- 「新浪科技综合」电视开机广告一键关闭重大进展:各家厂商纷纷承诺新浪科技综合2020-07-20 10:58:090阅
- 科学|山西:确保每个考生成绩科学准确公正公平
- 驾校停业欠薪 律师:疫情期间工资等应依法支付
- 劳动|驾校停业欠薪 律师:疫情期间工资等应依法支付
- 「天极网」多家彩电品牌开机广告可“一键关闭”天极网2020-07-20 07:46:590阅
- 桑切斯|甩不掉了!桑切斯欲在曼联耗完5000万镑工资 不卖他难以引援
- 每天一首音乐|没有一键美颜的古代女子如何美容?唐朝最讲究,甚至还要仰药
