我正在构建一个模板来管理我的工作时间。
目前我一直在寻找一些例子,但没有发现许多对我来说很有意义的事情:(。
我是否正在查看带有宏的excel模板,以记录早上的第一次登录事件和当天结束时的最终注销(或锁定)事件。
这需要一次一个星期,但只需要一些例子让我开始。
有点长的......:
如果事件日志日期在单元格中指定日期,则返回第一个登录时间,然后返回同一日期的上次注销或锁定事件。
这只是基础知识,然后我将其余部分填入休息时间等等......
谢谢。
答案 0 :(得分:2)
我继续并对某些功能做了一些假设,因为您希望能够根据自己的需要进行调整。
我认为最有可能出现以下情况:
Date | Log-On Time | Log-Out Time | Total Time
如果您在真正注销之前无意中打开了工作簿,只需擦除错误信息,保存,关闭和重新打开强>
最后,这是代码:
Private Sub Workbook_Open()
Dim currentTime As Date, currentDay As Date
currentTime = Format(Now(), "hh:mm")
currentDay = Format(Now(), "mm/dd/yyyy")
Dim template As Worksheet
Set template = Worksheets("Template")
With template
'find the last log-out to use the next line
last = .Cells(Rows.Count, 3).End(xlUp).Row + 1
If .Cells(last, 2) = "" Then
'log-on event
.Cells(last, 1) = currentDay
.Cells(last, 2) = currentTime
Else
'log-out event
.Cells(last, 3) = currentTime
.Cells(last, 4) = Format(currentTime - CDate(.Cells(last, 2)), "hh:mm")
End If
End With
End Sub
编辑:我想您也可以弄清楚如何轻松计算休息时间。