「教えて!ピックアップ」リリース!

VBAのIF分で時間指定の条件式の書き方を教えてください。

9:00~14:00で実行する下記のマクロはうまく機能しています。
If Time >= TimeValue("9:00:00") And Time <= TimeValue("14:00:00") Then

下記をご教授願います。
16:00~翌日の4:00までの、日をまたがっての12時間後の条件式の書き方を教えてください。
よろしくお願いします。

A 回答 (2件)

If (Time >= TimeValue("16:00:00") And Time <= TimeValue("23:59:59")) Or _


(Time >= TimeValue("00:00:00") And Time <= TimeValue("04:00:00")) Then

こうゆうこと?

この回答への補足

ありがとうございます。
早速、試してみたいと思います。

補足日時:2013/02/14 17:26
    • good
    • 0

現在Timeに入っているのは、何の値でしょうか?


「当日の3:00」と「翌日の3:00」の区別はあるのでしょうか?

0:00から4:00を「翌日」と見做せるのなら

16:00から24:00の間、または、0:00から4:00の間
という意味で
If (Time >= TimeValue("16:00:00") And Time <= TimeValue("23:59:59")) Or (Time >= TimeValue("0:00:00") And Time <= TimeValue("4:00:00")) Then
さらに、Time <= TimeValue("23:59:59")とTime >= TimeValue("0:00:00") は必ず成立する(はず)なので
If Time >= TimeValue("16:00:00") Or Time <= TimeValue("4:00:00") Then
となります。

そうでないなら、なんらかの方法で「翌日」であることを判断する必要があります。
・日付も使う
・自:16:00,至:4:00 等の時には、自>至の時だけ翌日と見做す
など

この回答への補足

Timeは現在時刻です。
If Time >= TimeValue("9:00:00") And Time <= TimeValue("14:00:00") Then

上記のIF文で9:00~14:00の間、マクロによる作業が実行されています。
その後、一休みして
16:00~翌日の4:00までの、日をまたがってマクロによる作業をさせたいと考えています。
しかし、その条件文が出来ないで困っています。
よろしくお願いします。

補足日時:2013/02/14 17:24
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング