返回列表 上一主題 發帖

計時功能??

回復 1# color790

使用組合鍵Alt+z
  1. Public x As Long, s As Double
  2. Sub auto_open()
  3. Application.OnKey "%z", "Ex"
  4. End Sub
  5. Sub Ex()
  6. If x = 0 Then s = Timer
  7. If x Mod 2 = 0 Then Cells(Rows.Count, 1).End(xlUp).Offset(1) = (Timer - s) / 86400: s = Timer
  8. If x Mod 2 = 1 Then Cells(Rows.Count, 1).End(xlUp).Offset(1) = (Timer - s) / 86400: s = Timer
  9. x = x + 1
  10. End Sub
複製代碼
計時.rar (8.06 KB)
學海無涯_不恥下問

TOP

回復 3# color790


1. 為什麼要設 Public x As Long, s As Double,  X是指什麼??
設計2個全域變數,s是記住此次執行時的時間,x是記錄此程序被執行幾次
2. 為什麼要求X的餘數為零或為1 ??
這個問題多謝你提醒,可以不須求得餘數,但是紀錄是否為第一次執行是必須的
改成
  1. Sub Ex()
  2. If x = 0 Then s = Timer
  3. Cells(Rows.Count, 1).End(xlUp).Offset(1) = (Timer - s) / 86400: s = Timer
  4. x = x + 1
  5. End Sub
複製代碼
即可
3. 為什麼Timer - s 還要再除86400, 然後後面還有個 :是什麼意思
Timer是傳回從午夜零時起算至此的秒數,傳回的是Single,因為一天24小時轉成數值時為1,除以86400(一天為86400秒)是為了轉成秒
學海無涯_不恥下問

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題