原來 EXCEL 可以製作小工具用來做 TimeSheet!

有時候,我們須要準確掌握同事的時間花在哪項工作。然而,如果讓員工下班前、甚至每週才紀錄一次工作時間及內容,就算員工記憶力再好,紀錄下來的內容難免有失真的可能。

EXCEL 能夠幫助嗎?

以下的VBA / MACRO 可以幫到你。在這個例子中,執行巨集後,每10秒就會彈出message box,提醒你須要紀錄你現時的工作!

下載後執行巨集"Run_Timesheet",等幾秒。。。


VBA 第一部份:

Sub Run_Timesheet()
For i = 1 To 2
Set xl = Excel.Application
xl.OnTime Now + (i / 60 / 60 / 24 * 10), "'question " & """" & i & """'"
Next i

End Sub

解釋:

第一部份主要控制Timesheet填寫的間距及次數。

在例子裡,我們希望每天輸入Timesheet兩次,所以定義"for i = 1 to 2"。如果一天輸入十次,則可以改為"for i = 1 to 10"。

另一方面,Timesheet在例子中每十秒輸入一次,因此定義為(i / 60 / 60 / 24 * 10)。

"question" 是MACRO第二部份,即是彈出來須要用戶填寫Timesheet的程式。

現實中,相信大家較接受每個小時填寫一次吧。



VBA 第二部份:

Sub question(row)

AppActivate Application.Caption
DoEvents

MsgBox "Time to fill timesheet!", vbSystemModal
My_job = InputBox("What are you doing now?", "Timesheet")

Range("A" & row + 1) = Now
Range("B" & row + 1) = My_job

ActiveWorkbook.Save

End Sub

解釋:

"MsgBox"功能讓EXCEL彈出一個小框,提醒填Timesheet的時間到了。

我們可以描述一下手頭上的工作。在MACRO中,我們輸入的文字或數字,會被紀錄在variable "My_Job"當中。

輸入後,MACRO 會自動幫我們把輸入時間及工作描述放在EXCEL 的 Column A 及 Column B,同時自動儲存。

用EXCEL "強迫" 同事填 Timesheet 就是這麼簡單!




另外,你亦可參閱我們另外關於EXCEL應用的文章,讓你的日常HR工作變得更快捷更輕鬆!


利用自動化HR SYSTEM,更快、更有效地管理員工的年假安排!


上述資料有用嗎?歡迎跟您的朋友分享!



E-Appraisal是最新自動化績效評核系統,先從整合公司、小隊以及個人目標入手,追縱同事們的考評進度,並提供各種統計數據,從而讓你更有效調配人力資源,同時免去大家對 Excel 和紙張的厭煩。