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

Excel VBA ベーシック 模擬問題 第15問  7章-1

次のマクロを実行したとき、D列に"〇"が入力されるのはワークシートの【  ①  】行目である。

空欄に入る数字を解答しなさい。

Sub Exam1()

 Dim i As Long

  For i = 2 To 11

   If Cells(i, 1) <> "関東" Then

    If Cells(i, 2) = "大阪" Or Cells(i, 2) = "福岡" Then

     If 850 < Cells(i, 3) And Cells(i, 3) < 1000 Then

      Cells(i, 4) = "○"

     End If

    End If

  End If

 Next i

End Sub

【7章 ステートメント】

 

正解

【 ① 】11

【7章 ステートメント】

解説

・A列の値が「関東」ではない場合かつ

・B列の値が「大阪」または「福岡」の場合かつ

・C列の値が850より大きく、かつ1000未満の場合に条件を満たします。

これらのの条件を満たしているのは11行目のみです。

【Ifステートメント And条件・Or条件・ネスト、並立】

Ifステートメント1行And条件
If ① And ②Then…①かつ②の時は(And条件)処理を実行する。
処理
End If

Ifステートメント1行Or条件
If ① Or ②Then…①あるいは②の時は(Or条件)処理を実行する。
処理
End If

Ifステートメントのネスト(入れ子) And条件
ネストとなっているときはAnd条件です。

・And条件ネストの記述
If 条件① Then

If 条件② Then ①かつ②の時は(And条件)処理を実行する。

処理

End If

End If

Ifステートメントの並立Or条件
並立となっているときはOr条件です。

・Or条件並立の記述
If 条件① Then

If 条件②Then ①あるいは②の時は(Or条件)処理を実行する。

処理

End If

End If

【コード解説】

Sub Exam1()

 Dim i As Long

' iを行番号として使用するための変数を宣言します。

  For i = 2 To 11

' ①2行目から11行目までのセルを順に処理します。

   If Cells(i, 1) <> "関東" Then

' A列の値が「関東」ではない場合に条件を満たします。

    If Cells(i, 2) = "大阪" Or Cells(i, 2) = "福岡" Then

' B列の値が「大阪」または「福岡」の場合に条件を満たします。

     If 850 < Cells(i, 3) And Cells(i, 3) < 1000 Then

' C列の値が850より大きく、かつ1000未満の場合に条件を満たします。

       Cells(i, 4) = "○"

' 条件をすべて満たした場合、D列に「〇」を入力します。

     End If

   End If

  End If

 Next i

' ①へもどり終了値まで、繰り返し処理を行います。

End Sub