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

Excel VBA ベーシック 模擬問題 第7章 第2問

 

以下のコードは、表内のA列奇数行のセル内の値が「1」ときに、D列に「―」と代入するマクロである。

空欄に入る語句として正しいものを選択肢より1つ解答しなさい。

 

Sub Exam1()

 Dim i As Long

  For i =11 To 2 【 空欄①  】 -2

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

    Cells(i, 4) = "―"

   End If

【 空欄②  】 i

End Sub

 

VBAベーシック ステートメント

 

1.空欄①:Step 空欄②:End If

2.空欄①:Step 空欄②:Next

3.空欄①:Next 空欄②:Step

4.空欄①:To 空欄②:Loop

 

 

 

正解

2

解説

【7章 ステートメント】

【For…Nextステートメント】

For…Nextステートメント…マクロ全体の中で指定の初期値から終了値までの

範囲で、繰り返し処理をするステートメントです。

 

構文

For 変数名 = 初期値 To 終了値 (Step 増減したい値)

処理

Next 変数名

 

値を1ずつ増やす場合以外は「Step 増減したい値」の記述が必要です。

例 2づつ増やしたい。

For 変数名 = 初期値 To 終了値 Step 2

値を減す場合は「増減したい値へ」負の値(マイナス)指定します。

Step -2 「2」値を減らす。

 

【コード解説】

以下のコードは、表内のA列奇数行のセル内の値が「1」ときに、D列に「―」と代入するマクロである。

空欄に入る語句として正しいものを選択肢より1つ解答しなさい。

 

Sub Exam1()

 Dim i As Long

'変数を宣言する。

  For i =11 To 2 Step  -2

’①開始値11から終了値2へ 2ずつ減らして変数に代入する。

’11→9→7→5→3と変数の値は変化します。

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

’条件分岐1列目が「1」の時は以下の処理を行う。

    Cells(i, 4) = "―"

’4列目に「―」を代入する。

   End If

Next i

’終了値まで①へ戻る。

End Sub

 

VBAベーシック ステートメント

 

1.空欄①:Step 空欄②:End If

 

誤り。

 

変数の増減を指定するときはStepを記述します。

End IfはIfステーメンントの終了の記述ですので2重になりますので誤りです。

 

2.空欄①:Step 空欄②:Next

 

正しい。

 

変数の増減を指定するときはStepを記述します。

変数が終了値となるまで次の値へ戻り繰り返し処理をするには、Nextを使用します。

 

3.空欄①:Next 空欄②:Step

 

誤り。

 

①と②の位置が反対になっています。

変数の増減を指定するときはStepを使用し、変数が終了値となるまで次の値へ戻り繰り返し処理をするには、Nextを使用します。

 

4.空欄①:To 空欄②:Loop

 

誤り。

 

Toは開始値から終了値までの間を表すのに使用します。

Loopも繰り返処理で使用しますが「Do」と合わせて使用する

Do~Loopステートメントで使用します。