【Excel VBA 编程】针对表格操作,一键生成工资条,代码中仅修改3个参数

目录

引言

问题的分析与设计

工资条生成原理

批量生成工资条

代码入口设计

代码实现

执行代码前需要修改的三个参数

生成工资条代码

运行结果

执行后的结果展示

 点击添加的命令按钮没有反应?

回顾总结


引言

一说到工资条,大家都不会陌生,每个月我们都会收到公司发送的工资条,甚至谈论起来滔滔不绝似乎有很多的话题......想知道它们是怎么制作出来的吗?你一定会说那还不简单,把表头粘贴复制一下不就行了?那么你一定没有想过成千上万的工资条,如果不借助工具或是自动化,制作起来那真是个噩梦

现在就教大家一招,即使是再多的数据也不怕,一键搞定,还不用求人,更不需要一次记住复杂的步骤和繁琐的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,方便呀,如果循环语句不熟悉的话,可以查看前期文章:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wei1019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值