プロが教える店舗&オフィスのセキュリティ対策術

まず10秒たってからtest2222と表示させて、次にtestと表示させるプログラムを以下のように作成したのですが、なぜか先にtestが表示されて、次にtest2222が表示されます。
なぜなのでしょうか?
分かる方がいれば教えてください。
よろしくお願いします。

Sub aa()

Application.OnTime Now + TimeValue("00:00:10"), "kara"

MsgBox "test"

End Sub

Sub kara()
MsgBox "test22222"
End Sub

A 回答 (2件)

こんばんは。



Application.OnTimeで実行がストップはしないので次の行が実行されて表示されるのです。

MsgBox "test" を Sub kara() の MsgBox "test22222" の次に入れるといいのでは?
    • good
    • 0

OnTime は実行を予約するだけで直ぐに次の行に移るようです。


実行を遅らせたいなら Timer を使えば良いかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!