次のコードは、1年後の日付をメッセージで表示するマクロである。
空欄に入る適切な語句を選択肢の中から一つ解答しなさい。
なお実行日はうるう年ではないものとする。
Sub Exam1()
Dim A As Integer, B As Integer, C As Integer
A = Year(Now) + 1
B = 【 空欄① 】(Now)
C = 【 空欄② 】(Now)
MsgBox "1年後は" & A & "年" & B & "月" & C & "日です。"
End Sub
1.空欄①:Day 空欄②:Month
2.空欄①:Month 空欄②:Day
3.空欄①:Month 空欄②:Date
4.空欄①:Day 空欄②:Format
正解
2
解説
【8章 関数】
【Year関数、Month関数、Day関数】
●Year関数、Month関数、Day関数それぞれ引数の年、月、日を数値で返す関数です。
構文
・Year(日付の引数)
…指定した日付の引数から、「年」を表す数値を返します。
・Month(日付の引数)
…指定した日付の引数から、「月」を表す数値を返します。
・Day(日付の引数)
…指定した日付の引数から、「日」を表す数値を返します。
●Month関数とDay関数は「数値」返す関数ですが、1桁の時は1の位のみ返します。
2桁目、10の位に「0」はつきません。
例
3月は「03」ではなく「3」を返します。
●値ですので「-1」や「+1」などで増減や計算が可能です。
A = Year(Now) -1とすれば一年前の年を返します。
もし二桁目に「0」をつけたい場合や、
西暦年の下二桁のみ表示するのなどをしたい場合には、Format関数で実現可能な組み合わせで表すことができます。
【コード解説】
次のコードは、本日の日付をメッセージで表示するマクロである。
空欄に入る適切な語句を選択肢の中から一つ解答しなさい。
Sub Exam1()
Dim A As Integer, B As Integer, C As Integer
’変数の宣言をする。
A = Year(Now) + 1
‘変数Aにyear関数で取得した現在の年数に、1を足し算した値を代入する。
B = Month(Now)
’変数BにMonth関数で取得した現在の月数を代入する。
C =Day(Now)
’変数にDay関数で取得した現在の日数を代入する。
MsgBox "1年後は" & A & "年" & B & "月" & C & "日です。"
’1年後の日付をメッセージを表示します。
End Sub

*実行日2025年3月
1.空欄①:Day 空欄②:Month
誤り。
Day関数は、引数に指定した日付の「日」を表す数値を返します。
Month関数は、引数に指定した日付の「月」を表す数値を返します。
提示されたコードを実行すると、空欄①には本日の「日」が入り、空欄②には本日の「月」が入ったメッセージに表示されます。

2.空欄①:Month 空欄②:Day
正しい。
Month関数は、引数に指定した日付の「月」を表す数値を返します 。
Day関数は、引数に指定した日付の「日」を表す数値を返します 。
提示されたコードを実行すると、空欄①には本日の「月」が入り、空欄②には本日の「日」が入ったメッセージに表示されます。
3.空欄①:Month 空欄②:Date
誤り。
Dateは変数の型指定文字ですので誤りです。
4.空欄①:Day 空欄②:Format
誤り。
Format関数は、引数に指定した数値や日付などを、引数の「書式」を適用した結果を返します 。
実行しても整数系の変数の型に一致せずエラーになります。