返回列表 上一主題 發帖

[發問] Application.OnTime 無法終止 ?

回復 10# t8899

text版已寄到信箱

TOP

回復 8# t8899
有以下之模式可供你選用:
(一)
  1. 置於模組 Module1 內:
  2. Private Sub Auto_Open()
  3.     Ex
  4. End Sub

  5. Sub Ex()
  6.     Static cts
  7.    
  8.     cts = cts + 1
  9.     Cells(cts, 1).Value = "Here I Am!"
  10.    
  11.     Application.OnTime (Now + TimeValue("00:03:00")), "Module1.Ex"
  12. End Sub
複製代碼
(二)
  1. 置於 ThisWorkbook 內:
  2. Private Sub Workbook_Open()
  3.     Ex
  4. End Sub

  5. Sub Ex()
  6.     Static cts
  7.    
  8.     cts = cts + 1
  9.     Cells(cts, 1).Value = "Here I Am!"
  10.    
  11.     Application.OnTime (Now + TimeValue("00:03:00")), "ThisWorkbook.Ex"
  12. End Sub
複製代碼
(三)
  1. 置於模組 Module1 內:
  2. Private Sub Auto_Open()
  3.     工作表1.Ex
  4. End Sub

  5. 置於 工作表1 內:
  6. Sub Ex()
  7.     Static cts
  8.    
  9.     cts = cts + 1
  10.     Cells(cts, 1).Value = "Here I Am!"
  11.    
  12.     Application.OnTime (Now + TimeValue("00:03:00")), "工作表1.Ex"
  13. End Sub
複製代碼

TOP

stop.rar (8.16 KB)
Sub Macro1()
'
' Macro1 Macro
'
' 快速鍵: Ctrl+p
'
[a1] = [a1] + 1
Application.OnTime Now + TimeValue("00:00:05"), "Sheet1.a123"
End Sub


呀﹗請問要怎樣停止?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

原來是這樣子
http://office.microsoft.com/zh-tw/excel-help/HP005203075.aspx

停止巨集
全部顯示全部顯示

請執行下列其中一項動作:

    如果您要停止一個目前使用中的巨集,請按 ESC,然後按一下 [Microsoft Visual Basic] 對話方塊上的 [結束]。
    如果您想要避免在啟動 Microsoft Excel 時自動執行巨集,請在啟動時按住 SHIFT。
50 字節以內
不支持自定義 Discuz! 代碼

TOP

第1+a 的row 放入時間
Timothy

TOP

没有权限下载附件,主要是自己水平太菜啊
向高手学习

TOP

還是動不了
Cells(1 + a, 1) = Time ===>是什意思
t8899 發表於 2013/1/22 23:56

查看VBA的說明可了解

TOP

[發問] Application.OnTime 無法終止 ?

Sub amou()
Range("a1") = Range("a1") + 1
runtime2 = Now + TimeValue("00:00:10")
Application.OnTime runtime2, "amou"
End Sub

Sub a123()
On Error Resume Next
'Application.OnTime EarliestTime:=TimeValue(Runtime2), _
'   Procedure:="amou", Schedule:=False
' Application.OnTime EarliestTime:=Runtime2, _
  '   Procedure:="amou", Schedule:=False
  Application.OnTime runtime2, "amou", Schedule:=False
On Error GoTo 0
End Sub

本帖最後由 GBKEE 於 2015-3-29 10:04 編輯

回復 1# t8899
在這  Sub amou() 的模組頂端宣告 runtime2 為公用變數
如此 Sub a123() 才可得到runtime2 變數
  1. Public runtime2 As Date
  2. Sub amou()
  3. 'Dim runtime2 As Date 不要再宣告 runtime2 變數
  4. Range("a1") = Range("a1") + 1
  5. runtime2 = Now + TimeValue("00:00:10")
  6. Application.OnTime runtime2, "amou"
  7. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復  t8899
在這  Sub amou() 的模組頂端宣告 runtime2 為公用變數
如此 Sub a123() 才可得到runtime2  ...
GBKEE 發表於 2015-3-29 10:01

謝謝!幾秒執行一次有無其他方法??
尤其像1秒1次(時鐘),滑鼠指標會變成漏斗一閃一閃的狀態...

TOP

        靜思自在 : 知識要用心體會,才能變成自己的智慧。
返回列表 上一主題