返回列表 上一主題 發帖

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

想請教-在設定的時間自動執行巨集,VBA該如何寫?

我需要寫一個VBA,
內容很簡單,
就像下面這樣:

早上09:05:12
marco1

早上09:08:32
marco2

早上10:35:26
marco3
.
.
.
.
.
.
.
.
我巨集很多,不列出了
巨集我會自己錄
但是我寫不出"時間"的語法,
就是電腦系統時間到了,會自動執行巨集這樣子,
網路上有很多用Timer設定的方式,
講真的,我實在看不懂如何設定Timer,
好像要去算幾秒鐘是吧?然後會自動跳到下一列,
但是因為我時間不固定,
我想要隨時去改VBA裡的時間,
請教各位達人,
這該如何寫?
謝謝....

TOP

不好意思,oobird版大,
請問這一句要放在哪裡啊?
放在marco1前面,還是放在marco1裡面?
要怎麼樣才會打開工作表後就可以自動執行呢?
感謝你....

TOP

本帖最後由 GBKEE 於 2010-10-19 06:53 編輯

感謝oobird版大回覆,但是無法執行
以下是我測試的巨集:
Sub auto_open()
Application.OnTime "00:50:35", "marco1"
Application.OnTime "00:50:50", "marco2"
End Sub

Sub Macro1()

    Range("A1:D1").Select
    Selection.Copy
    Range("A2:D2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub


Sub Macro2()

    Range("A1:D1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("A3:D3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

我按執行auto_open ,然後等時間到
它告訴我"找不到巨集"
我都放在同一個Module裡面,
但是它說找不到,
我如果直接按執行巨集,是可以執行的
請問為什麼找不到巨集呢?
是不是漏了什麼?
謝謝....

TOP

呃....
那個Range裡面是選取的儲存格D啦,
貼到版上變成笑臉了...呵呵...

TOP

啊!!
真的...
我這豬頭,
感謝GBKEE版大細心
問題解決了,
謝謝.

TOP

不好意思,
可以再請教一下,
如果我要加上日期,
該怎麼寫?
謝謝....

TOP

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

繼上一次提問設定時間自動執行巨集之後,
感謝版主大大鼎力相助,已解決小弟的問題
想再請教,
如果我想加入"日期"的話,
該怎麼寫呢?
就是設定:
2010年10月19日,早上09:00:00
macro1
這樣.

謝謝.

感謝oobird版大,
你的意思是這樣嗎?
Sub auto_open()
If Data <> "2010,10,19" Then Exit Sub
Application.OnTime "16:11:50", "macro1"
End Sub
可是都不會動耶....
請問哪裡錯了?
謝謝.

TOP

感謝oobird版大,
你的意思是這樣嗎?
Sub auto_open()
If Data <> "2010,10,19" Then exit sub
Application.OnTime "16:23:30", "macro1"
End Sub
可是這樣都不會動耶,
是哪裡寫錯了嗎?
謝謝.

TOP

感謝GBKEE版大回覆
我在執行Application.OnTime "16:23:30", "macro1"  的時候沒有超過 "16:23:30"
因為我有一直改時間,然後等它執行.
我把你的VBA語法貼在Module 2
然後執行
它說....編譯錯誤,必須是:=.....
不好意思,還是我放錯地方了?
麻煩你了,謝謝.

TOP

        靜思自在 : 有時當思無時苦,好天要積雨來糧。
返回列表 上一主題