✔ 最佳答案
由於此類程式的效果是很主觀的, 通常編者都需先行了解實際需要, 才度身訂做
多少員工及多少紀錄, 對程式完全沒有影響
第2列(行)是標題, A2=I/D#; B2=日期; C2=上班時間; D2=下班時間
我剛編了代碼, 上班與下班是分開執行。
Sub starttime()
100
ID = InputBox("請輸入員工號", "開工打咭")
If ID = "" Then Exit Sub
If IsEmpty([A3]) Then
Set xx = [A3]
Else
Set xx = [A2].End(xlDown).Offset(1, 0)
End If
xx.Value = ID
xx.Offset(0, 1) = Date
xx.Offset(0, 2) = Time
GoTo 100
End Sub
Sub closetime()
200
ID = InputBox("請輸入員工號", "收工打咭")
If ID = "" Then Exit Sub
Set xx = [A2].End(xlDown)
201
If xx.Offset(0, 1) < Date Then
MsgBox "員工今天未有開工紀錄", 48
GoTo 200
ElseIf xx.Value = ID And xx.Offset(0, 1) = Date Then
xx.Offset(0, 3) = Time
Beep
GoTo 200
Else
Set xx = xx.Offset(-1, 0)
GoTo 201
End If
End Sub
希望樓主不要說: 完全不懂巨集
如需進一步協助, 請留下e-mail, 我給你檔案
2007-06-24 14:47:30 補充:
代碼的第1句後面是有 冒號 ":"是 100:及200: