乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel工资表-Excel VBA 一键工资表制作工资条

excel工资表-Excel VBA 一键工资表制作工资条

作者:乔山办公网日期:

返回目录:excel表格制作

网上常常可以看到各种工资条制作的函数、黏贴等各种方法。都需要几个步骤。感觉费时费力。


学会了VBA 之后,当然就不需要那么多步骤啦。能一键解决的时候,绝不按两下键。


如果本例与你的表格不一致,读者可以复制代码,简单修改几处代码就可以运行了。


问题如下:

问题描述:


1:工资表的原始表格里已经做好了各同事的工资表格,


2:要在每个同事的上一行插入固定的表头,就形成个人的工资条;


解决的思路详解:

1:把表头作为一个单元格区域并赋值


2:用for循环遍历工作表(需要制作工资条的单元格区域),


3:在每个需要增加插入表头的单元格区域,插入表头


代码运行的结果如下:
代码如下:

Sub 生成工资条() Application.DisplayAlerts = False Application.ScreenUpdating = False Dim sht As Worksheet, arr, i, j Dim rng As Range, Path1 As String Set sht = Worksheets("工资表原始表格") Set rng = sht.Range("a2:t3") arr = sht.Range("a1").CurrentRegion n = UBound(arr, 1) - 1' 插入表头的循环 For i = n To 5 Step -1 rng.Copy Rows(i).Insert Shift:=xlDown Next Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub代码解析

1:5~6行 Dim定义变量;


2:8行 设定工作表;


3:9行 设定表头区域;


4:10行 把工资表区域的所有数据放入数组arr


5:12行 用n获取倒数第二行号(因为最后一行的合计,不需要制作工资条);


6:14~17行 遍历arr数组;


7:15行 复制表头


8:16行 在需要制作工资条的单元格上面插入工作表


本例思考:

1:本例的for循环加入了“Step -1”这个参数,是因为for循环本来就有step这个参数。只是大部分省略了(当step为1时,可以省略)。step指的时循环的步距。


2:当遇到需要删除、插入单元格的时候,要用倒循环。即step 为 -1


小结:

解决本问题,需要用的知识点:


1:复制、黏贴的运用


点击关注可以更方便的查看Excel VBA的案例文章私信 视频 可以获取54集VBA入门视频私信 VBA或 vba 可以获取文章中含VBA代码的Excle文件
本文标签:excel工资表(43)

相关阅读

关键词不能为空
极力推荐
  • excel入门教程-EXCEL高手入门

  • excel还提供了一个可视化无代码的开发工具,在哪里呢,默认是看不到的。我们点击文件菜单,点击选项,弹出选择窗口。-excel入门教程

ppt怎么做_excel表格制作_office365_word文档_365办公网