Excel VBA ベーシック 模擬問題 模擬試験

Excel VBA ベーシック 模擬問題 第8章 第2問 公開問題

 

次のコードは、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

 

VBA basic function

*実行日2025年3月

 

1.空欄①:Day 空欄②:Month

 

誤り。

 

Day関数は、引数に指定した日付の「日」を表す数値を返します。

Month関数は、引数に指定した日付の「月」を表す数値を返します。

提示されたコードを実行すると、空欄①には本日の「日」が入り、空欄②には本日の「月」が入ったメッセージに表示されます。

 

 

2.空欄①:Month 空欄②:Day

 

正しい。

 

Month関数は、引数に指定した日付の「月」を表す数値を返します 。

Day関数は、引数に指定した日付の「日」を表す数値を返します 。

提示されたコードを実行すると、空欄①には本日の「月」が入り、空欄②には本日の「日」が入ったメッセージに表示されます。

 

 

3.空欄①:Month 空欄②:Date

 

誤り。

 

Dateは変数の型指定文字ですので誤りです。

 

 

4.空欄①:Day 空欄②:Format

 

誤り。

 

 

Format関数は、引数に指定した数値や日付などを、引数の「書式」を適用した結果を返します 。

実行しても整数系の変数の型に一致せずエラーになります。