アプリ版:「スタンプのみでお礼する」機能のリリースについて

Sub Macro6()
if time < 13:00:00 then
MsgBox "1時より前です"
End If

End Sub

これを実行したいのですが
構文エラーとなります。
どうすればいいでしょう?
よろしくお願いします。

A 回答 (2件)

if Time() < "13:00:00" Then


で試してみてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/04 13:03

こんにちは。



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

入門時では、あまりこだわることではありませんが……。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/05 01:11

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