返回列表 上一主題 發帖

[發問] 設定幾分鐘執行巨集

Sub a123()
If   1 Then Exit Sub
zzzzz
Application.OnTime Now + TimeValue("00:02:00"), "Sheet6.a1 ...
t8899 發表於 2013-4-5 06:28

TOP

可否分別用 1,2,3 來代替所輸入的時間??
t8899 發表於 2013-4-5 09:52

當然可以!
但是必須在程式判斷內寫死。

TOP

在執行中,U1改為2 暫停執行,改為1又繼續執行,無法跳出不執行???
t8899 發表於 2013-4-6 07:21

不甚明瞭你的意思; 當 U1 改為 2 時, 並非 "暫停執行", 而是 "跳離不再執行"。
執行中將U1改為2 後,需在前一個  Hello() 執行完畢回到 a123() 時,才能再次
去判斷  [U1] <> 1; 如果此時   U1 為 1 , 則繼續執行, 如 U1 此時不為 1 時,
即行跳離不再執行 a123(), 如此解說後你再下載操作我的範例就會明瞭了!
[A1] 欄位之變動應用亦同此理。
活頁簿1.rar (8.3 KB)

TOP

"跳離不再執行" ===>等於還在執行中???
t8899 發表於 2013-4-6 09:21
  1. Sub a123()
  2.     Dim tm As String
  3.    
  4.     Select Case [A1].Value
  5.         Case 1
  6.             tm = "00:01:00"     '  1 分鐘
  7.         Case 2
  8.             tm = "00:02:00"     '  2 分鐘
  9.         Case 3
  10.             tm = "00:00:10"     '  10 秒
  11.         Case Else
  12.             tm = "00:00:30"     '  30 秒
  13.     End Select
  14.    
  15.     Application.OnTime (Now + TimeValue(tm)), "ThisWorkbook.Hello"
  16. End Sub

  17. Sub Hello()
  18.     If [U1] <> 1 Then GoTo 30

  19.     MsgBox ("Good Day!")
  20. 30:
  21.     Call a123
  22. End Sub
複製代碼

TOP

        靜思自在 : 修行要繫緣修心,藉事練心,隨處養心。
返回列表 上一主題