• ベストアンサー

指定した時間より前なら(Time If)

Sub Macro6() if time < 13:00:00 then MsgBox "1時より前です" End If End Sub これを実行したいのですが 構文エラーとなります。 どうすればいいでしょう? よろしくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 Time は、小文字になっていますが、Time 関数でしょうか? 13:00:00 という数値は、存在しませんし、データ型が、Date には変化しませんから、エラーが出ます。文字列に書いても正しく認識しますが、一応、リテラル値を書くとき(直接、値を入れる場合)には、決まりがあります。本来は、変数を置いて、そこに代入するという方法が良いとされますが、VBAなどでは、リテラル値にする場合は、# # で囲みます。 例えば、#13:00:00# と書くと、#1:00:00 PM# このように変換され、時間値として受け付けられます。 Sub Macro6()   If Time() < #1:00:00 PM# Then     MsgBox "1時より前です"   Else     MsgBox "1時より後です"   End If End Sub 入門時では、あまりこだわることではありませんが……。

noname#150929
質問者

お礼

#でくくると時間と認識されるのですね。 勉強になりました。ありがとうございます。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

if Time() < "13:00:00" Then で試してみてください。

noname#150929
質問者

お礼

ありがとうございます!できました!

関連するQ&A

専門家に質問してみよう