【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

vba 今の時間から明日の6時まで、あと何時間何分あるかを取得したいのですが
うまくいきません。

Sub a()
Const 予定 As Date = "06:00:00" '明日の6時

MsgBox "明日の6時まであと" & Format(Now - 予定, "hh:mm") & "あります"

End Sub

これだと、今の時刻(21:51)で実行すると15:51が返ります。
でも明日の6時まで15時間51分もないです。

何がまちがってますか?

A 回答 (2件)

質問者様の式では、21:51-6:00となるので、15:51が返値となるのは当然です。



1.datedif関数で、同日かどうかを判別
2.前の日の場合、(24:00-now)+6:00を返す。
3.同じ日の場合、6:00-nowを返す。

細かくは、調整が必要かと思いますが、考え方はこんな感じかと思います。

これができれば、オリンピックまでのカウントダウンだって作れますよ。笑
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/10/16 20:57

こんばんは!



普通に考えて

>MsgBox "明日の6時まであと" & Format(Date + 1 + 予定 - Now, "hh:mm") & "あります"

としてみてはどうでしょうか?m(_ _)m
    • good
    • 2
この回答へのお礼

ありがとうございます。

お礼日時:2013/10/16 20:57

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


おすすめ情報