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

Excel VBA ベーシック 模擬問題 ランダム順出題 ⓵ 第30問

次のコードは、同じ行のB列の数値と、D列の数値が両方とも1より大きいとき、その行のA列からD列までを太字にするマクロである。

空欄に入る適切な語句を選択肢から1つ選びなさい。

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

 

1. Value

2. Offset

3. Resize

4. Count

正解

3

解説

【7章 ステートメント】

【Resizeプロパティ】

セルのサイズを変換する。

VBAベーシック 

構文: セル.Resize(変換後の行, 変換後の列)

基本のセルの位置は(1,1)です。

引数の1は省略可能です。

Offsetプロパティでは0やマイナスの整数を指定できましたがResizeプロパティでは指定できません。1以上の整数となります。

Resize (行, 列)引数の省略

省略可能な数値は「1」です。

・Resize(3, 1)・・・Resize(3) 同じ。行のみ拡大し、列の幅は変わらないで省略可能です。

・Resize(1, 4)・・・Resize(, 4) 同じ。列のみ拡大し、行の幅は変わらないで省略可能です。

・Offsetプロパティも引数の省略しますが、値については少し違うので注意が必要です。

 

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以降の
処理をします。
条件に合わない場合、処理はしません。

 

 

次のコードは、同じ行のB列の数値と、D列の数値が両方とも1より大きいとき、その行のA列からD列までを太字にするマクロである。

空欄に入る適切な語句を選択肢から1つ選びなさい。

 

1. Value

誤り。

Valueプロパティは、セルの値を取得または設定するためのプロパティです。

 

2. Offset

誤り。

Offsetプロパティは、セル範囲をからみて指定した行数と列数の位置にあるセル範囲を取得するためのプロパティです。

 

3. Resize

正しい。

Resizeプロパティは、セル範囲のサイズを変更するためのプロパティです。

 

4. Count

誤り。

Countプロパティは、セル範囲のセル数を取得するためのプロパティです。

 

【コード解説】

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