• ベストアンサー

vba 明日の6時まで、あと何時間何分あるか

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分もないです。 何がまちがってますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ensan
  • ベストアンサー率60% (3/5)
回答No.1

質問者様の式では、21:51-6:00となるので、15:51が返値となるのは当然です。 1.datedif関数で、同日かどうかを判別 2.前の日の場合、(24:00-now)+6:00を返す。 3.同じ日の場合、6:00-nowを返す。 細かくは、調整が必要かと思いますが、考え方はこんな感じかと思います。 これができれば、オリンピックまでのカウントダウンだって作れますよ。笑

eclullfkddus
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 普通に考えて >MsgBox "明日の6時まであと" & Format(Date + 1 + 予定 - Now, "hh:mm") & "あります" としてみてはどうでしょうか?m(_ _)m

eclullfkddus
質問者

お礼

ありがとうございます。

関連するQ&A