| 
    
     |  | ▼たか さん: 
 0.1秒という、一瞬の時間を【正確に】ということですか?
 もしかしたら、10:00:00 に実行されたら、そのあとすぐにということではないのですか?
 そもそも、10:00:00 にメッセージが出たとします。
 メッセージがでている間は、このメッセージを出しているプロシジャは終了していませんので
 たとえ 10:00:00:01 に予定されている処理があったとしても走りませんよ。
 走るのは、あくまで、10:00:00 に実行されたプロシジャが終了した後です。
 その時には、もう、すっかり 10:00:00:01 は過ぎ去っていますよねぇ・
 
 なので、要望がいまいちわからないですねぇ。
 
 まぁ、そういうこととは別に、秒以下の制御をしようとすれば通常はAPIを引っ張り出すところですが
 VBA標準のTimerを使っても、ある程度のことはできます。
 
 h tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=33079;id=excel
 
 ↑のなかの ichinose さんの投稿を参考にしてください。
 
 
 >はじめまして、
 >VBAを始めて、10日目の初心者です。
 >皆様方のお力をおかりしたくて投稿させて頂きます。
 >
 >下記のようにマクロを書くと、10:00:00に「予定時刻になりました」と
 >いうメッセージ出すことができますが、10:00:00に0.4秒遅れて、
 >10:00:00.4にメッセージを出す(それ以降のマクロを動かす)には
 >どのようにしたら良いのでしょうか?
 >
 >初心者で申し訳ございませんが、宜しくお願い致します。
 >
 >
 >Sub test()
 >
 >Dim DatTime As Date
 >  DatTime = TimeValue("10:00:00")
 >  Application.OnTime DatTime, "show_msg"
 >
 >End Sub
 >
 > Sub show_msg()
 >
 > MsgBox "予定時刻になりました"
 >
 >End Sub
 
 
 |  |