- ベストアンサー
指定した時間より前なら(Time If)
Sub Macro6() if time < 13:00:00 then MsgBox "1時より前です" End If End Sub これを実行したいのですが 構文エラーとなります。 どうすればいいでしょう? よろしくお願いします。
- みんなの回答 (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 入門時では、あまりこだわることではありませんが……。
その他の回答 (1)
- hallo-2007
- ベストアンサー率41% (888/2115)
回答No.1
if Time() < "13:00:00" Then で試してみてください。
質問者
お礼
ありがとうございます!できました!
お礼
#でくくると時間と認識されるのですね。 勉強になりました。ありがとうございます。