基于Excel VBA高校工资辅助管理工具的应用
2020-05-13戴柯峰
文| 戴柯峰
我校劳资管理工具现状
近年来随着高校招生规模的不断扩大,教师人数、种类也在增加。教师工资待遇计算和发放是人事工作中重要的环节,关系到广大教职工的切身利益,是维持教师基本生活的重要保障。因此劳资工资在高校管理中是一个极其重要的环节,特别是在工资计算过程中要认真仔细尽可能避免出现错误。那么如何利用现代化计算机技术来提高工作效率,精准完成工资核算具有十分重要的意义。
目前我校工资计算工具使用FoxPro进行汇总统计。FoxPro在数据库处理能力方面较强,但随着科技的发展,微软已经宣布停止开发该软件。在日常的使用过程中,笔者以非计算机背景人员使用FoxPro对工资数据进行处理,时常感觉力不从心,操作复杂且效率底下,尤其是使用SQL语句导入数据而非设定的程序,通过可视化界面的导入。而Excel具有强大的制表功能,且普及性较广,为了提高工资工作效率,结合本单位实际情况,利用Excel VBA构建适用我校的、界面友好、操作熟悉的高校工资辅助管理工具具有重要意义。
VBA技术简介
VBA作为微软公司开发的、作为Excel拓展工具的一种标准化的宏编程语言,它可以通过编写VBA代码来对Excel工作表进行操作,实现对Excel表进行交互式管理和控制。VBA作为以Excel为载体的宏编程语言,它可以通过Excel内置的Visual Basic Editor窗口来编写VBA代码扩展Excel功能,结合Excel本身的函数公式,实现Excel表格数据的自动化处理。
在目前信息化迅猛发展的形式下,各高校在劳资管理单据汇总、报送、发放、统计中仍然大部分是使用Excel作为主要统计、汇总工具。运用VBA技术尤其适用于解决在大量劳资数据统计、汇总、计算等重复的操作,因此掌握好VBA技术可以让劳资管理人员从复杂繁琐的劳资数据处理中解脱出来。
系统功能设计
系统功能开发的总体任务是要实现我校工资管理、人员管理、工资计算等功能,主要功能包括:
1.导入数据,包括导入人员信息,导入工资数据。导入人员信息是指记录教职工计酬基本信息,如序号、姓名、帐号、部门、职务、职称、类型、标记、工号;导入工资数据,如汇总值班费、其他项目、过节费、项目等等非常规性项目的应发金额,以及代扣教职员工的社保金、公积金、个税等由学校代扣代缴项目。
2.课时量计算,根据每学期初教务处统计汇总的课时量总表,导入课时量表中,通过课时量、职称及教师类型进行折合计算奖励绩效工资。
3.生产工资数据表格,如生成计算税表、工资明细表、银行入卡表等,方便财务计税和出帐。
4.增减员工,包含职工的添加、删除、修改、查询,本功能主要通过建立数据导入数据到工资表进行添加职工序号、姓名、帐号、部门等信息,职工管理包括修改、删除职工信息。
Excel VBA工资系统主体表格体系
根据我校绩效工资发放体系以及历史形成的绩效工资数据统计及汇总模式,使用Excel VBA构建工资管理系统替换原FoxPro工资计算方式,尽量在不变更原有操作习惯前提下平稳过渡,利用新的工资辅助管理系统高效提高工资计算、管理方式进行设计,主要工资体系以直观便利为主,设计内容尽量在一张Excel表里面完成,各种类型对应的标准尽量写入到系统代码当中,以便节省Excel表格大小。最终确定Excel VBA工资辅助管理系统表格界面主要分为三个模块:人员基础信息表、工资数据表、课时量表。
基础信息表
基础信息表主要是录入涉及工资计算的人员基础信息,如序号、姓名、帐号、部门、职务、职称、类型、标记、工号等,将确认好的人员基本工资信息数据导入到系统中。根据我校绩效工资方案将相应绩效工资中奖励性绩效工资标准用自定义函数写入到Excel系统中,根据人员信息表中的职务职称就高取值,生成教职工的标准奖励性绩效工资(月奖);标记列,主要为标识辅导员、教学秘书、课时量折半人员等特殊人员。类型主要是标识教职工的人员类型,区分教师和行政人员。
工资数据表
工资数据表主要是录入工资数据,如已发工资数据主要存放财政统发工资数据,每月依据人社厅返盘数据导入;工资补差,补公积金、津贴、校内工资、电话补助按照学校文件进行发放,一般这几个项目在每月工资发放过程中变化不大,因此若有调整则手动进行调整;其它项目类、值班费、项目一、项目二按照各部门提供的导入模板进行导入累计。月奖:寒暑假,按照人员信息表中的职务职称就高取值,生成教职工的标准奖励性绩效工资(月奖);学期中间行政人员按照考勤数据,对应职级标准计发月奖。教辅人员,按照学校绩效工资方案由各二级部门计算上报教辅人员月奖,通过模板导入到系统中。教学人员由教务处汇总上报课时量汇总到人事处进行相应规则计算。实发工资数,主要通过Excel本身函数公式进行计算,实发工资=应发工资-扣款统计-已发工资。
课时量表
在正常教学期间,每学期开学后第二个月按照教务处统计汇总的各教师学期总课时量,导入系统中,按系统设定的Excel函数公式,平均分摊4个月进行计发教师奖励性绩效,变动课时量是设定存放教师每月课时量增减变动的情况,按照教师相应的职称进行计算教师的月奖(奖励性绩效工资)。
VBA代码实现
Excel VBA是通过对象来操作和控制Excel,操作对象有Excel程序(Application对象)、工作薄(Workbook对象),Range对象,工作表(Worksheet对象)或其中的单元格(Cell对象),EXCEL VBA工资系统主要功能体现在对EXCEL数据文件进行控制,执行系统相应功能,这里只针对系统主要功能的实现进行介绍并展示关键导入模块主要功能代码。
Excel VBA 工资系统功能总界面的实现
为了提高VBA代码使用效率,节约查找命令按钮的时间,通过XML语言在功能区定制属于工资系统的专用选项卡,提升VBA代码运行的便捷性,同时也使自己的VBA代码程序融入到系统中。功能区使用的代码语言为XML语言,因此无法通过VBA代码来构建功能区的选项卡,主要通过第三方软件CUSTOM UI Editor软件来实现,实现效果如图1。
图1 EXCEL VBA工资系统功能总界面
导入工资数据实现
For Next是VBA代码中最常见的一种循环语句,它主要可以指定重复运行一组VBA代码语句,拓展代码运行广度,使原一次性的操作可以批量重复执行。工资数据的导入主要通过以姓名为关键字,通过FOR 循环用If语句进行判断关键字是否一致,一致则将数据进行累加。通过选项卡中的导入工资数据选项卡执行VBA代码,主要功能代码如图2。
课时量计算功能实现
通过选项卡中的课时量计算选项卡执行VBA代码。主要使用IF语句,IF语句是VBA代码中使用效率最高的条件语句,相对于其他条件语句,它简单易懂,使用灵活。课时量计算中VBA代码主要使用条件语句中最简单组合If Then语句,它代表如果符合条件,则执行相关代码。课时量计算过程中,通过For Next循环批量判断是否符合设定的条件,符合条件则计算数值放入到相应单元格中。
导出奖金明细表实现
通过选项卡中的生成奖金明细表功能,生成奖金明细表主要是根据学校财务要求进行编写,生成符合财务出帐要求的奖金发放明细表。此代码编写主要涉及到使用区域Use Range的列数,区域复制命令Copy,数组写入Array,复制粘贴past Special属性,单元格合并Merge,For Next循环,Range对象等操作。
结束语
图2 导入工资数据模块关键代码
系统采用基于EXCEL内置功能编写VBA程序进行开发研究,搭建Excel VBA高校工资辅助管理工具,目前运行良好,能较好的完成目前我院教职员工的工资辅助管理需求。系统实用性较强,较原来的FoxPro开发的程序更容易上手,且操作界面友好熟悉。Excel VBA高校工资辅助管理工具运行解决了人事处劳资科对全校教职员工的工资高效化管理需求,主要包括核算工资,生成工资明细表、计税表、入卡表等等功能。系统代码维护简单,可根据业务流程变动进行可视化修改,使劳资管理人员能够及时应对工资发放政策的变化而进行系统功能调整,较好的完成工资管理工作需求。