'次のコードは、同じ行のB列の数値と、D列の数値が両方とも1より大きいとき、その行のA列からD列までを太字にするマクロである。
空欄に入る適切な語句を解答しなさい。
Sub Exam1()
Dim i As Long
For i = 2 To 6
If Cells(i, 2) >1And Cells(i, 4) >1 Then
Cells(i, 1).【 ① 】 (1, 4).Font.Bold = True
End If
Next i
End Sub
正解
【 ① 】resize
【7章 ステートメント】
●Ifステートメントは以下のような構文のパターンがあります。
本問題は以下のAnd条件の構文を使用した問題です。
●構文1
If 条件 Then 処理
条件が正しかった時処理を行ないます。条件が正しくない時は何もしません。
処理は一つのみです。
●構文2
If 条件 Then
処理
End If
条件が正しかった時処理を行ないます。条件が正しくない時は何もしません。
処理は複数記述可能です。
●構文3
If 条件 Then
処理1
Else
処理2
End If
条件が正しかった時処理1を行ないます。条件が正しくない処理2を行います。処理は複数記述可能です。
●And条件…
構文:
If 条件1 And 条件2 Then
処理
⇒ 条件1かつ条件2時はThen以降の
処理をします。条件に合わない場合、処理はしません。
● Or条件
構文:
If 条件1 Or 条件2 Then
処理
⇒ 条件1あるいは条件2の時はThen以降の
処理をします。
条件に合わない場合、処理はしません。
解説
【コード解説】
Sub Exam1()
Dim i As Long
For i = 2 To 6
'①For…Nextステートメント 変数「i」へ2から6の間で代入し、繰り返し処理をする。
If Cells(i, 2) >1And Cells(i, 4) >1 Then
'Ifステートメント…条件分岐、B列の数値と、D列の数値が両方とも1より大きいとき、以下の処理を行う…IfステートメントのAnd条件の構文です。
Cells(i, 1). Resize (1, 4).Font.Bold = True
’Cells(i, 1)をResizeでセル範囲を1行4列に変え、.Font.Bold = Trueで文字を太字にする。
End If
Next i
’For…Nextステートメント 終了値まで変数「i」の繰り返し処理①へもどる。
End Sub