[[20150418202006]] 『タイマー 指定時間 マクロ 教えてください。』(マサミ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『タイマー 指定時間 マクロ 教えてください。』(マサミ)

下記のようなマクロを作成したのですが、指定時間になっても実行されません。
マクロ初心者なもので、わかりません。

どこに記述しなくてはならないとかあるのでしょうか?
現在は、Module1に入れてあります。

※エクセルシートは開きっぱなしです。

Sub 時間表示()

MsgBox ("時間です")

End Sub

Sub Sample1()

    Application.OnTime EarliestTime:=TimeValue("20:17:00"), Procedure:="時間表示"
End Sub

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 書いた後に、Sample1 は実行したでしょうか。

 特に問題ないように見えますが。

(Mook) 2015/04/18(土) 20:33


Mookさん、見ていただきありがとうございます。

実行しないんですよ。

なぜなんでしょうか?
(マサミ) 2015/04/18(土) 21:03


 えっと、話がかみ合っていないでようですが。
 まさかとは思う質問をしたので、ピンと来なかったでしょうか。

 二つの関数を書いた後、Sample1 をマクロの実行でマサミさんが実行しましたか?
 というのが確認の意図です。

 それを実行した後、時間になれば「時間表示」が実行されると思いますが、
 Sample1 を実行した後でも、「時間表示」が実行されなかったという、ご質問でしょうか。
 (一般的にはそんな気がしますが・・・。)
(Mook) 2015/04/18(土) 21:11

Mookさん、度々ありがとうございます。
実行しておかないと、指定時間に起動しないんですね。
Mookさんがいうように、マクロを実行しておいたら、指定時間に起動しました。

もし、良かったら教えてほしいのですが、エクセルシートを開いたときに、Sample1を実行させるには、
どうしたらいいでしょうか?

やってみたいことは、朝8:00にエクセルシートを開いて、Sample1を実行。朝8:10に時間表示、それから、12:10になったら、同じように時間表示。

どうか、教えてください。よろしくおねがいします。
(マサミ) 2015/04/18(土) 21:31


 標準モジュールに「時間表示」を置き、
 ThisWorkbook の下に、

 Private Sub Workbook_Open()
    If Time() < CDate("08:10:00") Then _
        Application.OnTime EarliestTime:=TimeValue("08:10:00"), Procedure:="時間表示"

    If Time() < CDate("12:10:00") Then _
        Application.OnTime EarliestTime:=TimeValue("12:10:00"), Procedure:="時間表示"
 End Sub

 としておいたらどうでしょうか。

(Mook) 2015/04/18(土) 22:08


Mookさん、誠にありがとうございました。

してみたいことが、出来ました。

本当に助かりました。
度々の質問に対応していただき、感謝致します。

また何か、ありましたら助けてください。
よろしくお願いします。
(マサミ) 2015/04/18(土) 22:50


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.