批量生成工资条和恢复成工资表 您所在的位置:网站首页 做工资表总是出错 批量生成工资条和恢复成工资表

批量生成工资条和恢复成工资表

2024-06-02 19:34| 来源: 网络整理| 查看: 265

一、问题的提出

人事、财务经常会用到工资条,如果手工添加比较麻烦,而且容易出错,我们可以通过录制宏,或者插入VBA代码的方法来解决。有了VBA后,我们可以定义按钮,绑定VBA代码,实现一键生成工资条,或者恢复成工资表。

二、实现方法 1. 生成工资条

主要是利用VBA获取表数据的条数,然后用select选取第一行,通过for循环来批量添加表头。

Sub gongzitiao() Dim i As Integer Dim n As Integer n = Cells(Rows.Count, 1).End(xlUp).Row - 2 '获取要添加表头的个数 ActiveSheet.Rows("1:1").Select '选中第一行 For i = 1 To n '这里写上 Selection.Copy '复制第一行 ActiveCell.Offset(2, 0).EntireRow.Select '指针向下移动2行 Selection.Insert shift:=xlDown Next i End Sub 2. 恢复成工作表

有时,生成了工资条后,又想返回到工资表,但是因为VBA操作的不可逆性,所以又想让工资条恢复成工资表。代码如下:

Sub gongzibiao() Dim i As Integer Dim n As Integer n = Cells(Rows.Count, 1).End(xlUp).Row / 2 - 1 ActiveSheet.Rows("3:3").Select For i = 1 To n '这里写 Selection.Delete shift:=xlDown ActiveCell.Offset(1, 0).EntireRow.Select Next i End Sub

 由于删除一行后,下面的一行会自动补充上来,因此这时的offset偏移由原来的二行变成了一行。有了以上二种代码,可以轻松实现工资表与工资条的相互转化,十分的便利。

三、学后反思 操作前一定要备份工资表,因为VBA操作具有不可逆性。其它类似的操作也可以先录制宏,再添加循环,以实现批量操作。VBA目前在网上有很多学习教程,再加上chatGPT的加持,所以学习起来并不难。相信磨刀不误砍柴工,掌握了VBA,让你的办公速度可以飞起来。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有