Excel VBA スタンダード 模擬問題 模擬試験

Excel VBA スタンダード 模擬問題 ① 第6問 3章-2

次のコードは、条件式に合う場合はFor…Nextステートメントによる繰り返し処理を終了し、Nextの次の行から処理を続けるマクロである。空欄に入る適切な語句を解答しなさい。

Sub Exam1()

 Dim i As Long

  For i = 1 To 10

    If Cells(i, 1) = "" Then

      Exit 【 ① 】

      End If

  Next i

 MsgBox "処理は終了しました”

End Sub

ステートメント 模擬問題
正解

【 ① 】for

解説
Exix Forは For…Next、For Each …Next各ステートメントによる繰り返し処理を終了させ、Nextの次から処理を続けるステートメントです。

本問題の場合、セルが空欄の時には(セルA6)は繰り返し処理を終了し、Nextの次の行から処理を続けメッセージを表示します。

[コード解説]

Sub Exam1()

 Dim i As Long

' 変数iを宣言しています(ループカウンタ用)。

 For i = 1 To 10

' iを1から10までの範囲でループします。

  If Cells(i, 1) = "" Then

' セル(i, 1)が空の場合、以下の処理を実行します。

Exit For

' For…Nextループを終了し、Nextの次の行から処理を続行します。

  End If

 Next i

' ループの終わりを示します。

 MsgBox "処理は終了しました"

' 処理が終了したことをメッセージボックスで表示します。

End Sub