一分钟掌握ExcelVBA技巧,轻松批量生成工资条,提高工作效率!

数据我来大话侃 2024-09-18 20:44:46

可能大家忽视了一点,Excel是我们日常办公中使用最多的工具,所以,学好Excel并加以运用,一定能提升你的工作效率,比如Excel VBA可以用代码实现自动化办公,下面举一个Excel VBA批量生成工资条的办公小案例。

批量生成工资条这种方法适于一些保密性较高数据,如薪酬、加班补贴等数据,需要将数据批量处理为单一数据,这里就可以使用 Excel VBA 来处理,如果你不了解VBA的使用,可参考前一节内容:

1.数据演示

如下是一张工资表,包含每位员工的基本工资和提成点,由于企业中对于员工工资都有保密制度,现需要将每一位员工自己的基本工资和提成点分别发给对应的员工,常规做法是手动复制粘贴,这种方法效率很慢。

2.编写VBA

接下来,我将使用Excel VBA编写代码批量生成员工工资条,在 Excel 中点击 "开发工具" 选项卡,点击 "Visual Basic" 按钮,打开 VBA 编辑器,VBA代码都是写在VBA 编辑器运行。

如下即为VBA 编辑器的操作界面。

在 VBA 编辑器窗口中,右键 "VBAProject" ,依次点击 "插入" -> "模块",在插入的模块中编写 VBA 代码。

VBA代码在模块里面编写和运行。

如下为编写的VBA代码,代码相对比较长,有一定的学习门槛和难度,如果看不明白的话,可以直接复制粘贴使用。

Sub 批量生成工资条() Dim wsSource As Worksheet Dim wsTarget As Worksheet Dim lastRow As Long Dim currentRow As Long Dim i As Long Dim j As Integer Dim titleArray As Variant ' 定义原数据所在的工作表 Set wsSource = ThisWorkbook.Sheets(1) ' 假设工资数据在第1个Sheet中 ' 获取源数据的最后一行 lastRow = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row ' 删除之前生成的工资条表(如果存在) On Error Resume Next Application.DisplayAlerts = False Set wsTarget = ThisWorkbook.Sheets("批量生成工资条") If Not wsTarget Is Nothing Then wsTarget.Delete End If Application.DisplayAlerts = True On Error GoTo 0 ' 新建一个Sheet用于存储批量生成的工资条 Set wsTarget = ThisWorkbook.Sheets.Add wsTarget.Name = "批量生成工资条" ' 定义标题数组 titleArray = Array("姓名", "性别", "学历", "基本工资", "业绩", "提成点") ' 初始化工资条生成起始行 currentRow = 1 ' 遍历每一行员工数据 For i = 2 To lastRow ' 输出标题 For j = 0 To UBound(titleArray) wsTarget.Cells(currentRow, j + 1).Value = titleArray(j) ' 设置标题行格式 With wsTarget.Cells(currentRow, j + 1) .Font.Bold = True .Font.Name = "微软雅黑" .Interior.Color = RGB(192, 192, 192) ' 设置背景为灰色 End With Next j ' 输出每个员工的工资数据 For j = 1 To 6 ' 假设源数据有6列 wsTarget.Cells(currentRow + 1, j).Value = wsSource.Cells(i, j).Value ' 设置数据行格式 With wsTarget.Cells(currentRow + 1, j) .Font.Bold = True .Font.Name = "微软雅黑" End With Next j ' 每个工资条占两行,移动到下一个工资条的起始行 currentRow = currentRow + 3 Next i MsgBox "工资条批量生成完成!", vbInformationEnd Sub3.VBA运行

将VBA代码复制粘贴到到 VBA 编辑器中,点击 "运行" 按钮,或按下 F5 键运行该脚本。

这里将拆分后的工资条新建了一个名为“批量生成工资条”的sheet表来保存,生成工资条后就可以打印下发。

4.保存VBA

为了将编写的VBA可以永久保存,可以将工作簿保存为 *.xlsm 格式,点击"文件"选项,在保存类型中选择"Excel启用宏的工作簿",即可保存宏。

如果有新员工添加进来,只要在行末尾继续追加数据,然后,在VBA编辑器界面点击运行,即可一键批量生成工资条。

通过这节课的学习,我们成功使用 Excel VBA 实现了批量生成工资条的功能,这个自动化过程不仅减少了手动操作的繁琐,还极大提升了工作效率,同时,还能更好地理解和应用Excel VBA 知识,帮助我们提高工作效率。

0 阅读:4