返回列表 上一主題 發帖

想請教-在設定的日期自動執行巨集

本帖最後由 GBKEE 於 2010-10-19 07:02 編輯

回復 6# 三寶
不要有   發文時下面的選項要勾選 [禁用表情]
marco1<>Macro1 你的字母顛倒了

TOP

本帖最後由 GBKEE 於 2010-10-19 21:11 編輯

回復 14# 三寶
你執行 Application.OnTime "16:23:30", "macro1"  時間有超過 "16:23:30" 嗎?
執行Ex() 後不要關閉Excel 明天再試試看
  1. Sub Ex()
  2. Application.OnTime "2010/10/20 09:00", "Macro1"
  3. End Sub
  4. Sub Macro1()
  5. MsgBox Format(Now, "YYYY/M/D  H:M:ss")
  6. End Sub
複製代碼

TOP

回復 17# oobird
多謝指正 已修正
回復 16# 三寶
貼在Module2  注意 如Module1裡還有相同名稱 Sub Macro1() 時
需指明是哪一個模組  Application.OnTime "2010/10/20 09:00", "Module2.Macro1"

TOP

回復 19# 三寶
不過Application這一句不能直接放在macro1裡
你如何寫 PO 上看看

TOP

回復 23# 三寶
遇到資料刪除無法復原時 關閉檔案時選擇 不要存檔 重新開啟檔案 就可以
  1. Sub Ex()
  2.     Dim Macro$
  3.     If Date = "2010/10/19" Then
  4.         Macro = "Macro1"
  5.     ElseIf Date = "2010/10/20" Then
  6.         Macro = "Macro2"
  7.     ElseIf Date = "2010/10/21" Then
  8.         Macro = "Macro3"
  9.     End If
  10.     Application.OnTime "17:26:00", Macro
  11. End Sub
複製代碼

TOP

回復 25# 三寶
  1. Sub EX()
  2. If Date = "2010/10/20" Then
  3. Application.OnTime "21:15:00", "macro1"
  4. ElseIf Date = "2010/10/21" Then
  5. Application.OnTime "21:17:20", "macro2"
  6. ElseIf Date = "2010/10/22" Then
  7. Application.OnTime "21:26:00", "macro3"
  8. End If
  9. End Sub
複製代碼

TOP

回復  GBKEE
    請問大大.
如果時間過了再run都是可行的.
可以set定只有特定時間才run嗎?
basarasy 發表於 2010-10-21 19:28

Application.OnTime  "指定特定的時間","執行的程式"
"指定特定的時間"-> ,必須是執行此程式碼的時間之後才行的.
請詳看VBA的說明

TOP

回復 30# basarasy
是不是如此
  1. Sub Ex()
  2.     If Time > TimeValue("09:00") And Time < TimeValue("13:30") Then
  3.         Application.OnTime Time + TimeValue("00:00:10"), "????"
  4.     End If
  5. End Sub
複製代碼

TOP

回復 35# 三寶
Hsieh版主的程式碼Application.OnTime時所執行的程序要加上引數
程序有引數時 呼叫此程式 必須在空一格後加上引數 程序的引數有指定型態時 引數要是同型態
複製程式碼 執行看看
Sub test()
mytime = Now
mystr = "'nn " & Chr(34) & mytime & Chr(34) & "'"
MsgBox  mystr
Application.OnTime mytime, mystr
End Sub
Sub nn(T As Date)     '引數型態是日期
MsgBox "執行時間"&t
End Sub

TOP

        靜思自在 : 口說好話、心想好意、身行好事。
返回列表 上一主題