王曉勇 冷居鄉(xiāng)
摘要:在企業(yè)薪酬管理工作中,由于三級(jí)單位SAP用戶權(quán)限被收回,二級(jí)單位薪酬管理人員需要從全公司工資明細(xì)表中將各基層單位明細(xì)表復(fù)制粘貼到一個(gè)新的以三級(jí)單位命名的工作簿中。這個(gè)過(guò)程重復(fù)性操作多,容易出錯(cuò)并且效率低。本文利用VBA編程在處理工作表對(duì)象方面的優(yōu)勢(shì),結(jié)合實(shí)際需求進(jìn)行研究,實(shí)現(xiàn)了一鍵生成各基層單位工資明細(xì)表自動(dòng)化。
關(guān)鍵詞:薪酬管理;VBA編程;工作表對(duì)象
隨著人力資源共享服務(wù)工作的推進(jìn),薪酬核算與發(fā)放業(yè)務(wù)程序發(fā)生了改變[1]。企業(yè)三級(jí)單位不再具有從SAP系統(tǒng)導(dǎo)出工資明細(xì)表的權(quán)限。為了確保各基層單位能夠?qū)べY明細(xì)表進(jìn)行校對(duì),企業(yè)二級(jí)單位薪酬管理人員需要從全公司工資明細(xì)表中將各基層單位明細(xì)表復(fù)制粘貼到一個(gè)新的以三級(jí)單位命名的工作簿中,然后下發(fā)給各基層單位。這個(gè)過(guò)程重復(fù)性操作多,容易出錯(cuò)并且效率低。因此亟需找到一個(gè)簡(jiǎn)單方法,能夠快速將全公司工資明細(xì)表規(guī)范準(zhǔn)確的拆分為各基層單位工資明細(xì)表,從而提高工作效率,降低工作量[2]。利用VBA編程的優(yōu)勢(shì)可以很好地解決這類數(shù)據(jù)不在同一個(gè)工作簿中的問(wèn)題[3]。下面就來(lái)介紹如何運(yùn)用VBA編程實(shí)現(xiàn)對(duì)全公司工資明細(xì)表的分解。
一、實(shí)現(xiàn)功能
利用Excel自帶的VBA編程功能,將全公司工資明細(xì)表以三級(jí)單位為分割線,快速、準(zhǔn)確地分解成不同的工作簿,每個(gè)新工作簿以相應(yīng)三級(jí)單位名稱命名,保持拆分后工作簿表頭和全公司工資明細(xì)工作表表頭一致。從而實(shí)現(xiàn)將全公司工資明細(xì)表分解成三級(jí)單位工資明細(xì)表自動(dòng)化。
二、實(shí)現(xiàn)方法
利用VBA編程for循環(huán),遍歷全公司工資明細(xì)工作表。具體過(guò)程可分為三個(gè)步驟:
(1)清空sheet1工作表中全部?jī)?nèi)容,將全公司工資明細(xì)表中表頭部分粘貼到sheet1工作表中;
(2)判斷三級(jí)單位數(shù)據(jù)所在區(qū)域的首行、尾行,將這部分區(qū)域的數(shù)據(jù)粘貼到sheet1工作表中表頭所在區(qū)域下一行的第一列位置;
(3)將sheet1工作表另存為D盤output文件夾目錄下以三級(jí)單位名稱命名的工作簿。
VBA代碼如下:
Sub 拆分全公司工資明細(xì)表( )
For i=9 To Sheets("全公司明細(xì)").Cells(Rows.Count,1).End (xlUp).Row
If Sheets("全公司明細(xì)").Cells(i,1)="小計(jì)"Then
Sheets("Sheet1").Select
Cells.Select
Selection.ClearContents
Selection.Delete Shift:=xlUp
Sheets("全公司明細(xì)").Rows("1:8").Copy
Sheets("Sheet1").Range("A1").Select
ActiveSheet.Paste
For k = i-1 To 9 Step-1
If Sheets("全公司明細(xì)").Cells(k,3)<> Sheets("全公司明細(xì)").Cells(k-1,3)Then
Exit For
End If
Next k
Sheets("全公司明細(xì)").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
實(shí)際處理全公司工資明細(xì)表之前,還需要提前做一些簡(jiǎn)單的準(zhǔn)備工作。在D盤新建output文件夾,在全公司工資明細(xì)工作表所在工作簿新建sheet1工作表。然后打開Visual Basic編輯器,右鍵插入模塊,將VBA代碼粘貼到新建模塊中,點(diǎn)擊運(yùn)行就會(huì)一鍵生成若干三級(jí)單位工資明細(xì)表。
三、總結(jié)
如果采用常規(guī)方法手動(dòng)復(fù)制粘貼各三級(jí)單位工資明細(xì),不僅會(huì)浪費(fèi)大量時(shí)間來(lái)執(zhí)行重復(fù)性操作,而且容易出錯(cuò)[4]。利用VBA編程的方法來(lái)分解全公司工資明細(xì)表不到一分鐘就可以完成,大大減少了三級(jí)單位SAP用戶權(quán)限取消后給二級(jí)單位薪酬管理人員帶來(lái)的工作量,提高了工作效率降低了出錯(cuò)的概率。經(jīng)驗(yàn)證,該方法簡(jiǎn)單易學(xué),具有很強(qiáng)的適用性,并且同樣適用于生成各三級(jí)單位獎(jiǎng)金明細(xì)表,目前已經(jīng)成功推廣應(yīng)用到各二級(jí)單位。綜上所述,VBA編程能夠提高薪酬管理工作效率,在薪酬管理工作中具有很強(qiáng)的應(yīng)用性。
參考文獻(xiàn):
[1]王琛,段毅龍,喬峰,趙亞平,林芳.強(qiáng)化組織領(lǐng)導(dǎo),注重保障支持全力支持人力資源共享服務(wù)試點(diǎn)順利實(shí)施[J].石油組織人事,2019 (2):28-31.
[2]鄧文盛,何勇.VBA編程在調(diào)查問(wèn)卷數(shù)據(jù)收集匯總的應(yīng)用[J].企業(yè)科技與發(fā)展,2019 (5):123-124.
[3]吉建英,周宏,王麗,袁成銘.VBA編程在計(jì)算機(jī)基礎(chǔ)考核閱卷中的應(yīng)用[J].科技經(jīng)濟(jì)導(dǎo)刊,2018 (26):29-31.
[4]陸錦鶴.利用VBA編程提高報(bào)表制作效率[J].科技前沿,2016 (4):152-153.