Powered By Blogger

2019年2月22日 星期五

EXCEL VBA自動產生個人報表!


這個EXCEL範例檔可以在試算完所有人的加班費金額後,自動產生每個員工的個人報表(新的工作表),不囉嗦,先下載試試看吧!

這裡下載範例檔!(請不要在google雲端內執行,請下載後用office excel開啟)


1.下載後執行之,若出現 安全性警告 的訊息,則請按下 啟用內容 按鈕。



2.切至資料建立工作表畫面,在此輸入各項資料(範例為6筆資料,可自行增減)
    2.1儲存格為白底的請輸入資料
    2.2儲存格為灰底的是有公式或固定的資料
    2.3儲存格A14下方(含)請維持空白,避免程式抓到錯誤的資料筆數
    2.4若要增加員工資料筆數,請以"插入列"的方式新增
    2.5員工資料編號1必須是從第7列開始(1~6列資料勿增或刪)
    2.6員工資料不可有空白列,若有空白列則要整列刪除





3.切至空白表1"空白表2"工作表畫面,這兩個表是預先建立好的空白表格,預備供VBA程式複製後貼上每位員工的資料用,表格內各項內容、資料、行、列、儲存格請勿任意更改及增刪,以免VBA程式在執行複製貼上功能時會貼至不合理的位置。




4.切至巨集"工作表畫面,這裡是執行VBA程式的地方。"B1"儲存格在按下下方左邊藍色按鈕後會統計加班員工有多少人。中間的注意事項只是文字而已,請參閱,也可隨意修改。最下方目前可以看到只有4個工作表。接下來請按下方左邊藍色按鈕




5.此時,EXCEL會執行VBA程式,過了一小段時間後執行完畢,畫面會跳出一個完成視窗(當然,若前面有動到不該動的東西或設定錯誤,也可能跳出的是錯誤視窗),另外,下方的工作表列會多出12個工作表(6人  x  每人2張工作表),工作表是以員工姓名來命名。




6.檢視"王O和1"及"王O和2"兩個工作表,可發現該員工的相關個人姓名、職稱、加班時數、加班費......等資料已貼至獨立的工作表內。


7.若要列印某位員工的工作表,則點選該員工的工作表後,按excel的列印功能。若要一次列印所有員工的工作表,則可回到"巨集"工作表,下方右邊藍色按鈕

8.若要刪除所有員工的工作表或因更新員工加班資料而要重新產生報表,則可在"巨集"工作表,第2次下方左邊藍色按鈕,完成後如下圖,畫面會跳出一個工作表全數刪除的視窗,且最下方的工作表列又只會剩下4個工作表。




9.其實,這個自動產生報表的功能,也可以搭配word用合併列印的方式完成,只是要用到的檔案會不只一個,而用此法就只有一個檔案,相對較單純,適合產生工作表不會太多的情形下使用(我覺得20位員工共40張工作表還算OK,若要產生的工作表太多又有列印需求,那用合併列印可能會較實用喔)。

10.謝謝收看!歡迎批評、指教或討論。

2 則留言:

  1. 你好
    謝謝分享
    我需要做類似的巨集
    請問一下VBA的密碼是什麼呢?

    回覆刪除

本網誌其它"軌跡"

// 以下為新增的程式碼 FOR 文章分類 // 以上為新增的程式碼 FOR 文章分類