目录
引言
一说到工资条,大家都不会陌生,每个月我们都会收到公司发送的工资条,甚至谈论起来滔滔不绝似乎有很多的话题......想知道它们是怎么制作出来的吗?你一定会说那还不简单,把表头粘贴复制一下不就行了?那么你一定没有想过成千上万的工资条,如果不借助工具或是自动化,制作起来那真是个噩梦
现在就教大家一招,即使是再多的数据也不怕,一键搞定,还不用求人,更不需要一次记住复杂的步骤和繁琐的Excel公式,关键是能学到编程知识还FOR FREE,你心动了吗
如下表格是某公司的薪资表,生成工作条的基础数据就是它,请记住该薪资表存放在"Sheet1"表单中,表头在第4行,并且第二位员工薪资在第6行,即下列红框中的内容

问题的分析与设计
工资条生成原理
手工操作的话大家都明白,因为第一条数据(5行)已经有表头了,所以从第6行开始,我们只需要在第6行上面位置插入一空行,将表头数据复制粘贴过来即可,那么在程序中我们怎么实现呢
在VBA(Visual Basic for Applications)中,我们可以使用Rows对象来插入、删除和复制行。下面是一些常用的操作方法:
- 要插入行,我们可以使用Rows.Insert方法,如Rows(6).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove,表示在当前6行上方插入一行空行,xlDown表示实际6行数据下移变成第7行
- 要删除行,我们可以使用Rows.Delete方法,如Rows(1).Delete Shift:=xlUp,即删除第1行
- 要复制行,我们可以使用Rows.Copy方法,如Rows(4).Copy Destination:=Rows(6) ,表示复制表头数据(即4行)到第6行
使用Rows对象进行插入、删除和复制的一些注意事项
- 使用Insert和Delete方法时,Shift参数指定了单元格在操作后的移动方向。xlDown表示向下移动,xlUp表示向上移动。
- 使用Copy方法时,Destination参数指定了复制的目的地。确保目的地单元格已经存在或者有足够的位置来接收复制的数据。
批量生成工资条
既然单独的一个工资条制作出来了,批量实现就容易了,都交给程序来处理,我们就轻松了
要怎么实现批量操作呢?这个功能是程序最擅长执行的,给一个开始执行信号再给一个终止执行的标识,程序就会毫无怨言兢兢业业帮我们完成了
两种循环可任由我们挑选,一个是For Next,一个就是do while,稍微还是有点区别的,使用For Next前我们需要先计算好表格中的数据条数,然后从能用;然而do while不需要先确定数据条数,它是一遍执行一遍判断,所以我个人更倾向于使用do while,方便呀,如果循环语句不熟悉的话,可以查看前期文章:

最低0.47元/天 解锁文章
1628

被折叠的 条评论
为什么被折叠?



