返回列表 上一主題 發帖

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

工作表每三分鐘自動執行某巨集

想在sheet1 每三分鐘就自動執行"123"巨集(Sub 123())一次,要如何寫??

TOP

回復  t8899


     Application.OnTime Now + TimeValue("00:03:00"), "123"
f3202 發表於 2013-1-22 17:58


我在sheet1 用mouse 按右鍵"檢視程式碼" 將 Application.OnTime Now + TimeValue("00:03:00"), "123"  貼入 等三分沒反應??
前面要加什麼嗎??? (從alt-f8 確實有"123"的巨集)

TOP

在sheet1 用mouse 按右鍵"檢視程式碼" 將 Application.OnTime Now + TimeValue("00:03:00"), "123"  貼入
...
oobird 發表於 2013-1-22 20:43


改成 "Sheet1.123" 三分後也沒反應?

另外測試
按右鍵"檢視程式碼"
加入以下
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call t
End Sub
Sub t()
Application.OnTime Now + TimeValue("00:01:00"), "123"
End Sub

請問這執行第一次正常 ,但第二次第三次......沒等1分鐘開始一直重覆執行"123" ???

TOP

给你個例子
oobird 發表於 2013-1-22 21:37


抱歉,小弟等級太低,無權下載附件

TOP

回復 7# t8899
可以麻煩寄到我的信箱嗎??
pianocat91@hotmail.com

TOP

回復  t8899
例(放置在sheet1)
Sub a123()
Cells(1 + a, 1) = Time '您要做的動作
Application.OnTime ...
f3202 發表於 2013-1-22 22:08

還是動不了
Cells(1 + a, 1) = Time ===>是什意思

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

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

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

TOP

回復  t8899
請在你VBA 專案中插入一表單
表單模組程式碼一般模組程式碼
GBKEE 發表於 2015-3-29 11:40

抱歉,不是很懂,可否仍以18樓的例子,存成檔案,讓小弟測試?

TOP

回復  t8899
試試看
一般模組的程式碼
GBKEE 發表於 2015-3-29 14:17


Book3.zip (7.6 KB)

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題