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

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

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

1.数据演示

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

2.编写VBA

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

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

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

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

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

Sub 批量生成工资条()Dim wsSource As WorksheetDim wsTarget As WorksheetDim lastRow As LongDim currentRow As LongDim i As LongDim j As IntegerDim titleArray As Variant' 定义原数据所在的工作表Set wsSource = ThisWorkbook.Sheets(1) ' 假设工资数据在第1个Sheet中' 获取源数据的最后一行lastRow = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row' 删除之前生成的工资条表(如果存在)On Error Resume NextApplication.DisplayAlerts = FalseSet wsTarget = ThisWorkbook.Sheets("批量生成工资条")If Not wsTarget Is Nothing ThenwsTarget.DeleteEnd IfApplication.DisplayAlerts = TrueOn Error GoTo 0' 新建一个Sheet用于存储批量生成的工资条Set wsTarget = ThisWorkbook.Sheets.AddwsTarget.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 WithNext 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 WithNext j' 每个工资条占两行,移动到下一个工资条的起始行currentRow = currentRow + 3Next iMsgBox "工资条批量生成完成!", vbInformation
End Sub

3.VBA运行

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

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

4.保存VBA

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1537510.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

关于 Visual Studio Code 如何插入自定义快捷方式

第一步:打开控制面板,也可以使用快捷键ctrlshiftp 然后点击命令面板 第二步:输入snippets搜索,选择配置用户代码片段 第三步:选择新建全局代码片段文件,然后输入文件名,这里我因为创建的是vue的…

鸿蒙媒体开发系列03——AVPlayer和AVRecorder概述

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。 1、概述 本期我们初步讨论音视频资源的播放与录制相关能力 —— AVPlayer & AV…

数字经济指数合集

数字经济指数合集 随着信息技术的快速发展,数字经济已成为推动全球经济增长的重要力量。在中国,数字经济的发展尤为迅速,不仅促进了产业结构优化升级,还提升了社会治理效能。为了更好地衡量各地数字经济的发展水平,一…

工厂模式,策略模式,代理模式,单例模式在项目中的应用

项目背景: 首先这篇文章是总结了OJ项目和AI答题平台项目(和一点点的聚合搜索项目)中设计模式的文章 在项目中也用了很多次的设计模式,我感觉起来,这些设计模式的作用就是提高项目的扩展性和降低耦合性 工厂模式&…

视频语音转成文字用什么工具?这4款就很不错!

如今视频语音已经可以帮助我们在短时间内或去很多信息,在办公,学习教育,影视娱乐方面可以帮助我们高效的进行记录。当我们需要文字化的整理时,就会需要转换的工具。这片文章遍要罗列4款我在办公室用到的几款比较高效准确的视频语音…

原来石岩也有羊台山登山口

带娃探寻家附近的好玩的,娃问:石岩湿地公园的水从哪里来的?我说可能是羊台山吧,我们可以随着河流去找下啊。其实我内心也是没底的,我去的羊台山都是从龙华的羊台山东地铁下车去的。 骑行的好处就是可以松弛感看风景&a…

犬类检测系统源码分享

犬类检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

C++ | (二)类与对象(上)

燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的假期为什么一去不复返呢? 目录 一、初识类 1.1 类的定义 1.2 C中…

在petalinux工程里添加iperf

在petalinux工程里添加iperf 1,首先确定iperf包在哪里 xxx/components/yocto/layer/ meta-openembedded/meta-oe/recipes-benchmark/iperf3/ 2,然后就是往menuconfig中加: xxx/project-spec/meta-user/conf/user-rootfsconfig文件中 添加: …

maxcompute使用篇

文章目录 maxcompute使用篇1.mongoDB与maxcompute 进行数据同步1.1 基本类型的数据1.2部分复杂类型的数据 2.maxcompute中复杂数据类型解析2.1 get_json_object2.2 json_tuple2.3 处理json几种失效的情况:2.4 STR_TO_MAP、MAP_KEYS2.5 regexp_replace2.6 FROM_JSON2.7 nvl2.8 t…

高级I/O知识分享【epoll || Reactor ET,LT模式】

博客主页:花果山~程序猿-CSDN博客 文章分栏:Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 一,接口 epo…

ElasticSearch-2-核心语法集群高可用实战-Week2

ES批量操作 1.批量获取文档数据 这里多个文档是指,批量操作多个文档,搜索查询文档将在之后的章节讲解 批量获取文档数据是通过_mget的API来实现的 (1)在URL中不指定index和type 请求方式:GET 请求地址:_mget 功能说明 &#…

12 Java文件处理之写入、读取:IO流(中):高级流(缓冲流、转换流、序列化流和反序列化流、打印流)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、缓冲流1 字节缓冲流(1)BufferedInputStream:字节缓冲输入流构造方法---- BufferedInputStream(InputStream in):创建一个使用默认缓冲区大小的缓冲输入流。---- BufferedInputStream(In…

【浅水模型MATLAB】尝试复刻SCI论文中的溃坝流算例

【浅水模型MATLAB】尝试复刻SCI论文中的溃坝流算例 前言问题描述控制方程及数值方法浅水方程及其数值计算方法边界条件的实现 代码框架与关键代码模拟结果 更新于2024年9月17日 前言 这篇博客算是学习浅水方程,并利用MATLAB复刻Liang (2004)1中溃坝流算例的一个记录…

特殊文本文件日志技术重点笔记。

特殊文本文件,日志技术(黑马 一套入门 3h) 特殊文件 日志技术 把程序运行的信息,记录到文件中,方便程序员定位bug,并了解程序的执行情况等。 1.为什么要用这些特殊文件 1.1存储单个用户的: 用户名,密码 1.2存储多个用户的&…

数据清洗-缺失值填充-XGboost算法填充

目录 一、安装所需的python包二、采用XGboost算法进行缺失值填充2.1可直接运行代码2.2以某个缺失值数据进行实战2.2.1 代码运行过程截屏:2.2.2 填充后的数据截屏: 三、XGBoost算法原理介绍3.1 XGBoost 的定义3.2 XGBoost 的核心思想3.3 XGBoost 的特点3.…

2024 批量下载知乎回答/文章/想法/专栏/视频/收藏夹,导出 excel 和 pdf

之前分享过文章 2024批量下载知乎回答文章想法专栏收藏夹,公众号文章内容图片封面视频音频,微博内容图片视频评论转发数据,导出excel和pdf ,今天再整理分享下知乎知乎回答/文章/想法/专栏/视频/收藏夹下载。 苏生不惑 这个账号已…

Jenkins基于tag的构建

文章目录 Jenkins参数化构建设置设置gitlab tag在工程中维护构建的版本按指定tag的版本启动服务 Jenkins参数化构建设置 选择参数化构建: 在gradle构建之前,增加执行shell的步骤: 把新增的shell框挪到gradle构建之前, 最后保存 …

驱动器磁盘未格式化难题:深度剖析与恢复实践

驱动器磁盘未格式化的深层探索 在数据存储与管理的日常中,驱动器作为我们数字生活的基石,其稳定性直接关系到数据的安全与可用性。然而,当屏幕上赫然出现“驱动器中的磁盘未被格式化”的提示时,许多用户往往感到手足无措&#xf…

Linux 文件与目录操作命令详解

文章目录 前言创建文件1. touch2. vim 文件内容显示3. cat4. more5. less6. head7. tail 文件(目录)复制、删除和移动8. cp9. rm10. mv 压缩文件与解压缩11. gzip12. zip 和 unzip 创建目录13. mkdir 删除目录14. rmdir 改变工作目录15. cd16. pwd 显示目…