スタンダード 模擬問題

Excel VBA スタンダード 模擬問題 章順出題 ① 第〇問

次のコードは、条件を満たした際に処理を実行する条件分岐のマクロのである。

セルD12にはセルD2からD11の合計が表示されます。

セルD12の値を解答なさい。

Sub Exam1()

 Dim i As Long

  For i = 2 To 11

   If Cells(i , 1) = "2" Then

    If Cells(i , 2) = "東京" Then  Cells (i, 4) = Cells(i, 3) * 2

   End If

   If Cells(i , 1) = "3" Then

     If Cells(i , 2) = "北海道" Then  Cells (i, 4) = Cells(i, 3) * 3

   End If

 Next i

End Sub

excel-vba-standard-test-statement
正解

【   ①    】4260

解説

【3章 ステートメント】

【IFステートメントのAND条件、OR条件】

IFステートメントのAND条件、OR条件が入り組んだコードです。

A列"2"あるいは"3"の平行で記述されたがOR条件で、ネスト(入れ子)で記述されている"2"かつ"東京","3"かつ"大阪"がAND条件となっています。

条件に当てはまる場合のみ処理が実行されます。

excel-vba-standard-test-statement

【コード解説】
Sub Exam1()

 Dim i As Long

 ①For i = 2 To 11

…For…Nextステートメント変数i開始体値から終了値まで繰り返し処理を行う。

 ☆ If Cells(i , 1) = "2" Then

…条件分岐、もしセルの値が2のときは以下の処理を行ないます。以下の☆とは平行で記述されているので~またはOr条件となっています。

 ⓵If Cells(i , 2) = "東京" Then  Cells (i, 4) = Cells(i, 3) * 2

…条件分岐、もしセルの値が”東京”のときは右辺の処理を行ないます。上記の☆とは入れ子で記述されているので~かつ~のAnd条件となっています。

End If

  ☆ If Cells(i , 1) = "3" Then

…条件分岐、もしセルの値が3のときは以下の処理を行ないます。上記の☆とは平行で記述されているのでOr条件となっています。

   ②If Cells(i , 2) = "北海道" Then  Cells (i, 4) = Cells(i, 3) * 3

…条件分岐、もしセルの値が”北海道”のときは右辺の処理を行ないます。上記の☆とは入れ子で記述されているので~かつ~のAnd条件となっています。

  End If

 Next i

…変数Iの終了値まで⓵に戻り繰り返し処理を行ないます。

End Sub