- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 84
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-4-8
               
|
本帖最後由 Hsieh 於 2012-2-12 00:42 編輯
回復 5# color790
你的意思不知是否如此?
注意程序名稱不能使用VBA保留字- Public x As Long, S As Double, t As Date, yn As Boolean
- Sub start()
- Application.OnKey "{RIGHT}", "gomysub"
- Application.OnKey "{LEFT}", "STOPS"
- Range("r2:t30,d4:d8,g4:g8,k4:k8,n4:n8").ClearContents
- End Sub
- Sub gomysub()
- k = 2: m = 2: n = 2
- Do Until Cells(k, 18) = ""
- k = k + 1
- Loop
- Do Until Cells(m, 19) = ""
- m = m + 1
- Loop
- Do Until Cells(n, 20) = ""
- n = n + 1
- Loop
- If x = 0 Or x = 2 Then
- t = Now + 0.0001
- Application.OnTime t, "test3"
- yn = True
- End If
- If x = 0 Then S = Timer
- Select Case x
- Case 0
- S = Timer
- x = x + 1
- Case 1
- S = Timer
- x = x + 1
- Case 2
- Cells(k, 18) = (Timer - S) / 86400: S = Timer
- x = x + 1
- Case 3
- S = Timer
- x = x + 1
- Case 4
- Cells(m, 19) = (Timer - S) / 86400: S = Timer
- x = x + 1
- Case 5
- Cells(n, 20) = (Timer - S) / 86400: S = Timer
- x = 0
- ActiveWorkbook.Save
- End Select
- End Sub
- Sub closefuntion()
- Application.OnKey "{RIGHT}"
- x = 0
- End Sub
- Sub test3()
- 'Beep
- MsgBox t & "時間到"
- yn = False
- End Sub
- Sub STOPS()
- If yn = True Then Application.OnTime t, "test3", , False: MsgBox "test3已經停止" Else MsgBox t & "已經運行"
- End Sub
複製代碼 |
|