VBA编程在薪酬管理工作中的应用研究

2019-10-19 06:28王晓勇冷居乡
企业文化 2019年32期
关键词:薪酬管理

王晓勇 冷居乡

摘要:在企业薪酬管理工作中,由于三级单位SAP用户权限被收回,二级单位薪酬管理人员需要从全公司工资明细表中将各基层单位明细表复制粘贴到一个新的以三级单位命名的工作簿中。这个过程重复性操作多,容易出错并且效率低。本文利用VBA编程在处理工作表对象方面的优势,结合实际需求进行研究,实现了一键生成各基层单位工资明细表自动化。

关键词:薪酬管理;VBA编程;工作表对象

随着人力资源共享服务工作的推进,薪酬核算与发放业务程序发生了改变[1]。企业三级单位不再具有从SAP系统导出工资明细表的权限。为了确保各基层单位能够对工资明细表进行校对,企业二级单位薪酬管理人员需要从全公司工资明细表中将各基层单位明细表复制粘贴到一个新的以三级单位命名的工作簿中,然后下发给各基层单位。这个过程重复性操作多,容易出错并且效率低。因此亟需找到一个简单方法,能够快速将全公司工资明细表规范准确的拆分为各基层单位工资明细表,从而提高工作效率,降低工作量[2]。利用VBA编程的优势可以很好地解决这类数据不在同一个工作簿中的问题[3]。下面就来介绍如何运用VBA编程实现对全公司工资明细表的分解。

一、实现功能

利用Excel自带的VBA编程功能,将全公司工资明细表以三级单位为分割线,快速、准确地分解成不同的工作簿,每个新工作簿以相应三级单位名称命名,保持拆分后工作簿表头和全公司工资明细工作表表头一致。从而实现将全公司工资明细表分解成三级单位工资明细表自动化。

二、实现方法

利用VBA编程for循环,遍历全公司工资明细工作表。具体过程可分为三个步骤:

(1)清空sheet1工作表中全部内容,将全公司工资明细表中表头部分粘贴到sheet1工作表中;

(2)判断三级单位数据所在区域的首行、尾行,将这部分区域的数据粘贴到sheet1工作表中表头所在区域下一行的第一列位置;

(3)将sheet1工作表另存为D盘output文件夹目录下以三级单位名称命名的工作簿。

VBA代码如下:

Sub 拆分全公司工资明细表( )

For i=9 To Sheets("全公司明细").Cells(Rows.Count,1).End (xlUp).Row

If Sheets("全公司明细").Cells(i,1)="小计"Then

Sheets("Sheet1").Select

Cells.Select

Selection.ClearContents

Selection.Delete Shift:=xlUp

Sheets("全公司明细").Rows("1:8").Copy

Sheets("Sheet1").Range("A1").Select

ActiveSheet.Paste

For k = i-1 To 9 Step-1

If Sheets("全公司明细").Cells(k,3)<> Sheets("全公司明细").Cells(k-1,3)Then

Exit For

End If

Next k

Sheets("全公司明细").Select

Range(Cells(k,1),Cells(i,100)).Copy

Sheets("Sheet1").Select

Cells(Sheets("Sheet1").Cells(Rows.Count,1).End(xlUp).Row + 1,1).Select

ActiveSheet.Paste

Sheets("Sheet1").Columns("C:C").EntireColumn.AutoFit

Sheets("sheet1").Copy

ActiveWorkbook.SaveAs Filename:="d:\output\" & Cells (9,3)&".xls",_

FileFormat:=xlNormal,Password:=" ",WriteRes Password:=" ",_

ReadOnlyRecommended:=False,CreateBackup:=False

ActiveWindow.Close

End If

Next i

End Sub

实际处理全公司工资明细表之前,还需要提前做一些简单的准备工作。在D盘新建output文件夹,在全公司工资明细工作表所在工作簿新建sheet1工作表。然后打开Visual Basic编辑器,右键插入模块,将VBA代码粘贴到新建模块中,点击运行就会一键生成若干三级单位工资明细表。

三、总结

如果采用常规方法手动复制粘贴各三级单位工资明细,不仅会浪费大量时间来执行重复性操作,而且容易出错[4]。利用VBA编程的方法来分解全公司工资明细表不到一分钟就可以完成,大大减少了三级单位SAP用户权限取消后给二级单位薪酬管理人员带来的工作量,提高了工作效率降低了出错的概率。经验证,该方法简单易学,具有很强的适用性,并且同样适用于生成各三级单位奖金明细表,目前已经成功推广应用到各二级单位。综上所述,VBA编程能够提高薪酬管理工作效率,在薪酬管理工作中具有很强的应用性。

参考文獻:

[1]王琛,段毅龙,乔峰,赵亚平,林芳.强化组织领导,注重保障支持全力支持人力资源共享服务试点顺利实施[J].石油组织人事,2019 (2):28-31.

[2]邓文盛,何勇.VBA编程在调查问卷数据收集汇总的应用[J].企业科技与发展,2019 (5):123-124.

[3]吉建英,周宏,王丽,袁成铭.VBA编程在计算机基础考核阅卷中的应用[J].科技经济导刊,2018 (26):29-31.

[4]陆锦鹤.利用VBA编程提高报表制作效率[J].科技前沿,2016 (4):152-153.

猜你喜欢
薪酬管理
某企业营销人员薪酬激励模式探析
企业薪酬调查中存在的一些问题与解决办法
煤矿企业薪酬管理方法探讨
探析电子商务企业薪酬管理创新
略论企业薪酬管理
企业薪酬管理的基本原则与策略