スタンダード 模擬問題

Excel VBA スタンダード 模擬問題 第1章 第1問 公開問題

以下のマクロを実行したところ、セルC1内に「150」と表示された。

空欄に入る適切な語句を解答しなさい。

Sub Exam1()

 Range("B1") = 50

 【   ①   】 Exam2()

End Sub

Sub Exam2()

 Range("C1") = Range("B1") *3

End Sub

正解

【   ①   】call

解説

【1章 プロシージャ】

・プロシージャから別のプロシージャを呼び出すときはCallステートメントを使います。

呼び出し元のプロシージャは処理の中で呼び出したいタイミングの時に、プロシージャ内で以下の構文で記述し呼び出します。

構文

Call 呼び出し元のプロシージャ名

・なお他のプロシージャを呼び出す際、「Call」は省略可能です。プロシージャ名のみで呼び出すこともできます。

Call Exam2() → Exam2()

【コード解説】

Sub Exam1()

 Range("B1") = 50

’セルB1に「50」を代入する。

 Call Exam2()

’プロシージャ Exam2() を呼び出す。

End Sub

Sub Exam2()

 Range("C1") = Range("B1") * 3

’セルB1の値「50」に3を乗算した結果「150」をセルC1に代入する。

End Sub