萬盛學電腦網

 萬盛學電腦網 >> Excel教程 >> excel綜合 >> 用Excel制作工資條的方法

用Excel制作工資條的方法

  用Excel制作工資條的方法  如何使用Excel進行工資條的制作,也許有些網友使用已經很長時間了,但如何更快更好的做出漂亮的工資條,看看作者的方法吧。

“小問題難倒老財務”,也許你已經在財務口上工作多年,也許你天天都要面對Excel那張老臉,也許你已經習慣了用工資明細表做員工工資統計並向上級匯報,把表中的條目一條條復制粘貼後打印發給每個員工。可你是否想過,找一個更簡單更有效率的方法?看起來這似乎有些困難:在工資明細表中,工資的項目(即表頭)一般只出現在表格開頭的某一行,而在工資條中,為了便於閱讀則要求每個人的工資都有表頭,那麼如何巧妙地把工資明細表制作成便於打印的工資條呢? 

“條條大路通羅馬”,不過路有遠近之分,方法也有難易之別,這裡給大家提供三種最簡單易用的方法。

方法一:宏命令控制法

對於Office家族的宏功能,大家或許早有耳聞,但由於需要使用VBA進行編程,所以宏一直讓許多人望而卻步,不過要使用一個現成的宏就簡單多了。首先打開要處理的Excel表,選擇“工具→宏→Visual Basic 編輯器”,在編輯器左邊的窗口中用鼠標雙擊Sheet1,會出現代碼編輯窗口,在代碼編輯窗口輸入如下代碼(為了不破壞原有的工資表,所以這裡采用了將 Sheet1的內容復制到Sheet2的方法,所以最後的生成結果是在Sheet2中顯示):

Sub MakeSalaryList()

Dim i As Integer

Dim endrow As Integer

測出數據的最後一行

endrow = Sheet1.Range("a65536").End(xlUp).Row - 1

把標題貼過去

Worksheets(1).Range("1:1").Copy (Worksheets(2).Cells(1, 1))

For i = 3 To endrow

把每條數據抬頭貼過去

Worksheets(1).Range("2:2").Copy (Worksheets(2).Cells(3 * i - 7, 1))

把數據貼過去

Worksheets(1).Range(Cells(i, 1), Cells(i, 256)).Copy (Worksheets(2).Cells(3 * i - 6, 1))

Next i

End Sub

關閉編輯器,將自動返回到剛才的Excel表,選擇“工具→宏→宏”,將彈出如下對話框:

點擊“執行”,將在Sheet2生成如Gz-2所示的轉換成工資條,怎樣,不復雜吧。當然,如果你的表總Sheet2已經輸入了別的內容,就可以將他復制到Sheet3來生成,代碼修改也很簡單,把其中的Sheet2修改成Sheet3就可以了,其它代碼不變。

方法二:公式填充法

相比宏命令,公式填充法更便於理解,不過需要手工操作的步驟稍微多一些,“魚和熊掌不可得兼”,要用哪種方法就看你的愛好了。

首先打開要操作的Excel工資表,為了不破壞原表(Sheet1)結構,我們仍然采用在Sheet2中進行操作的方法。由於這個工資表一共有L列,18行,要復制的表頭項目在第二行,所以在第一個單元格中輸入如下公式:

=IF(MOD(ROW(),2)=0,INDEX(sheet1!$A:$L,INT(((ROW()+1)/2))+2,COLUMN()),sheet1!A$2)

接下來的工作就簡單了,我們只要使用填充柄將此公式填充到其它單元格,列向填充到L列,行填充到18行就大功告成。

因為在不同的表格中這個公式需要修改的地方比較多,所以這裡做一下解釋:

由於工資條中的奇數行都是表頭,偶數行是數據,所以在這個公式中首先進行奇偶行判斷,若是奇數行,直接取工資表的A2單元格數據(即公式中的 sheet1!A$2,如果表頭數據在第4行第三列則修改為sheet1!C$4)。若是偶數行,則用INDEX()函數來取數。該函數的第一個參數是指定工資表中的一個取數區域(即sheet1!$A:$L,如果不是從A到L列,那麼可以修改這個參數,如修改為sheet1!$B$P ,就表示在B到P列之間取數)。當然,如果你想把轉換後的數據放在Sheet3而不是Sheet2中,那麼,只要在Sheet3中執行以上操作就可以了,並不需要修改公式的內容。

采用這種方法不能自動插入空行,給打印後的裁減帶來了一定的麻煩,所以,建議在做完後在全選所有單元格,通過調整行高和列寬來解決這個問題。

方法三:Word郵件合並法

對於宏和公式運用不太熟練的朋友別著急,這裡還有一招等著你。

首先我們確定好主文檔(工資條表格)和數據源(Excel或Access格式的記錄表),然後通過“郵件合並”向導把數據源中的的字段信息合並進來。

點擊“工具→信函與郵件→郵件合並”,然後在屏幕右側進入“郵件合並”向導。

第一步:選擇文檔類型。選擇“信函”。

第二步:選擇開始文檔。選擇默認的“使用當前文檔”。

第三步:選取收件人。單擊“使用現有列表”區的“浏覽”按鈕,通過“選擇數據源”對話框,定位格式數據源的存放位置,選中並打開。接著彈出“郵件合並收件人”對話框,在這裡可以指定參與郵件合並的記錄,選擇默認的“全部”,確定返回Word編輯窗口。

第四步:撰寫信函。將插入點定位於表格的第二行第一格內,單擊“郵件合並”工具欄上“插入Word域”左邊的“插入域”按鈕,打開“插入合並域”對話框,選中“域”下方列表框中的“序號”字段,並單擊“插入”按鈕,即可把“序號”字段合並到主文檔中。然後用同樣的方法把其余字段插入到主文檔表格中對應的位置即可。

第五步:預覽信函。在這裡我們可以浏覽一下工資條的大致效果,還可以調整“姓名”表格的寬度,讓姓名在一行內顯示。然後選中“姓名”後的表格區域,單擊鼠標右鍵在彈出的菜單中選擇“平均分布各列”,讓這些列具有相同的寬度,使工資條更美觀。如果這樣直接進入打印操作,一頁紙只能打印一個工資條,所以選中整個工資條表格,復制,粘貼到原表格下方空一行後的地方,把插入點定位於主文檔中第一和第二個表格之間的空行處,單擊“郵件合並”工具欄上的“插入Word域”按鈕,在彈出的菜單中選擇“下一記錄”命令,以此類推,就可以在一頁紙上多排幾個工資表,充分利用資源了。Excel教程

最後進入第六步:完成合並。然後把工資條打印出來,就制作完成了。

OK,再也不用費力地重復勞動專門制作工資條數據表了,通過簡單的轉化一個數據表就實現了兩項完全不同的功能,趕快操練一下吧。
 

copyright © 萬盛學電腦網 all rights reserved