スタンダード 模擬問題

Excel VBA スタンダード 模擬問題 ① 第39問 10章-1

以下のコードは セルに10を代入するが、もしセルA1 が空欄ではなかったときは、マクロを一時停止します。空欄に入る適切な語句を答えなさい。

Sub Exam1()

 Dim N As Long

 N = 10

  If Range("A1") <> "" Then 【 ① 】

 Range("A1") = N

End Sub

 

正解

【 ① 】stop

解説

・Stopステートメントは、ブレークポイントと同じようにマクロを一時停止状態にします。

・ブレークポイントとの違いは、ステートメントなどと組み合わせることで、 特定の条件に一致したときにだけマクロを止めることも可能です。

なおF5キーでストップ状態から処理を再開します。

[コード解説]

Sub Exam1()

 Dim N As Long

' 変数Nを宣言し、10を代入します。

 N = 10

  If Range("A1") <> "" Then Stop

' セルA1が空欄でない場合、Stopステートメントによってマクロの実行を一時停止します。
' 開発者がイミディエイトウィンドウでデバッグすることが可能になります。

 Range("A1") = N

' セルA1が空欄の場合、変数Nの値(10)をセルA1に代入します。

End Sub