次のコードを実行した結果エラーとなるものを、選択肢の中から1つ選びなさい。
1.
Sub Exam1()
MsgBox Now("yyyy/mm/dd")
End Sub
2.
Sub Exam1()
Dim T As String
T = Now
MsgBox T
End Sub
3.
Sub Exam1()
Dim T As Variant
T = Now
MsgBox Format(T, "yyyy年mm月dd日")
End Sub
4.
Sub Exam1()
MsgBox Now
End Sub
正解
1
解説
【8章 関数】
【Now関数】
●Now関数は、現在の日付と時刻の両方を返します。
●Now関数は引数がありませんので、引数を指定する括弧()を省略できます。
構文
Now
2025/12/11 18:30:10 このような形式でデータを返します。
・Now関数は日付と時刻の両方を返しますので、
日付だけや時刻だけを取得したいときは、Year関数やHour関数などと組み合わせて使用します。
・Year (Now)
・Hour (Now)
【コード解説】
次のコードを実行した結果エラーとなるものを、選択肢の中から1つ選びなさい。
1.
Sub Exam1()
MsgBox Now("yyyy/mm/dd")
End Sub
誤り。
Now関数は、引数を必要としません。
引数を指定すると、エラーが発生します。
2.
Sub Exam1()
Dim T As String
T = Now
MsgBox T
End Sub

正しい。
提示されたコードを実行すると、現在の日時が「2024/05/01 10:20:30」のように表示されます。
Now関数は引数がありませんので、引数を指定する括弧()を省略できます。
Now関数は、現在の日時を返す関数ですが、変数の型が文字列型であるため、
Format関数で書式を指定しない場合の時には、
VBAが自動的に日付と時刻を書式変換した文字列で表示します。
3.
Sub Exam1()
Dim T As Variant
T = Now
MsgBox Format(T, "yyyy年mm月dd日")
End Sub

正しい。
コードを実行すると、現在の日時が「2025年03月24日」のように表示されます。
Format関数は、引数に指定した日付や時刻などを、引数の「書式」を適用した結果を返します。
4.
Sub Exam1()
MsgBox Now
End Sub
正しい。
提示されたコードを実行すると、現在の日時が「2024/03/24 10:20:30」のように表示されます。
Now関数は、現在の日時を返す関数です、書式を指定しない場合、
VBAが自動的に日付と時刻に書式変換した文字を返します。