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

Excel VBA ベーシック 模擬問題 第8問  5章-2

 

次のコードは、変数Aをどのモジュールでも使用できるパブリック変数として宣言し、

変数Bはモジュール内のすべてのプロシージャで内でのみ使えるようにするモジュールレベル変数として宣言するマクロである。

空欄を埋める適切な語句を解答しなさい。

 

—————————————————

Module1

—————————————————

Option Explicit

 【 ① 】 A As Long

 【 ② 】 B As Long

Sub Exam1()

 A = 150

 B = 180

  Call Exam2

End Sub

Sub Exam2()

 Dim N As Long

 N = A + B

  MsgBox N

End Sub

 

——————————————-

Module2

——————————————-

Option Explicit

Sub Exam1()

 A = 200

  MsgBox "変数Aは" & A & "です"

End Sub

 

正解

【 ① 】public 【 ② 】dim

解説

【5章 変数と定数】

Public・・・ パブリック変数です。別のモジュールでも使用できる変数です。

Dim・・・ モジュールレベル変数です。宣言したモジュール内でのみ使用できる変数です。

【変数の適用範囲と使用ステートメント】

変数 変数の適用範囲と使用ステートメント
ローカル変数 宣言したプロシージャ内適用

Dimステートメント

・Dim 変数名 As 変数の型

モジュールレベル変数 宣言セクションで宣言したモジュールの全プロシージャ適用

Dimステートメント

・Dim 変数名 As 変数の型

パブリック変数 宣言セクションで宣言したモジュールや別のモジュールで適用

Publicステートメント

・Public 変数名 As 変数の型

宣言セクションの範囲

Option Explicit

宣言セクション範囲

Sub Exam1()

【コード解説】

——————————————-
Module1
——————————————-

Option Explicit

Public A As Long

' パブリック変数です。別のモジュールでも使用できる変数です。

Dim B As Long

' モジュールレベル変数です。宣言したモジュール内でのみ使用できる変数です。

Sub Exam1()

 A = 150

 B = 180

  Call Exam2

' 別プロシージャを呼び出します。この時点でAは150、Bは180です。

End Sub

Sub Exam2()

 Dim N As Long

' ローカルレベル変数です。宣言したプロシージャのみ使用できる。

 N = A + B

' パブリック変数Aとモジュールレベル変数Bの合計を計算します。

  MsgBox N

' 計算結果(330)が表示されます。

End Sub

——————————————-
Module2
——————————————-
Option Explicit

Sub Exam1()

 A = 200

' パブリック変数Aに新しい値を代入します。

 MsgBox "変数Aは" & A & "です"

' ここでは"A = 200"が表示されます。

End Sub