Excel VBAエキスパート・ベーシック試験対策もかねたクイズ5

第5ラウンド VBAエキスパート・ベーシック試験対策もかねたクイズR5


Excel VBAエキスパート・ベーシック試験対策も兼ねたクイズ

VBAエキスパートの問題集が少なくて、困っている方のために
ベーシック試験対策もかねたクイズを作成しました。

VBAエキスパートへの道クイズ【第9回】

クイズ9回に登場した語句の解説

語句の解説はクイズの下にあります。


気軽に対策 Excel VBAエキスパート・ベーシッククイズ10

VBAエキスパートの問題集が少なくて、困っている方のために
ベーシック試験対策もかねたクイズを作成しました。

VBAエキスパートへの道クイズ【第10回】

VBAエキスパートへの道クイズ9回に登場した問題と語句の解説

ステートメントに関する問題

クイズ9回に登場した語句の解説

VBAの分岐処理につかうステートメントは、どれですか?
解説:
VBAにおいて、分岐処理を行うためには`If...Then...Else`ステートメントを使用します。

VBAの繰り返しにつかうステートメントは、どれですか?
解説
: VBAでの繰り返し処理には`For...Next`や`Do...Loop`などが存在します。

VBAの省略につかうステートメントは、どれですか?
解説
: VBAにおけるコードの省略のためのステートメントは`With...End With`です。

ステートメント”For…Next”を使って、行番号を10行目まで取得する書きかたで正しいのはどれですか?[[gazo/quiz_09_01.png]]
解説
: `For...Next`を使用して、1から10までの行番号を取得するには、`For i = 1 To 10`と記述します。

ステートメント”For…Next”を使って、行番号を1行おきに11行目取得する書きかたで正しいのはどれですか?[[gazo/quiz_09_02.png]]
解説
: 1行おきに行番号を取得するためには、`Step`を使用して`For i = 1 To 11 Step 2`と記述します。

ステートメント”For…Next”を使って、行番号を表の最終行まで取得する書きかたで間違いはどれですか?
解説:
最終行を取得するための正しいコードは`Cells(Rows.Count, 1).End(xlUp).Row`です。

セルのEndプロパティを使って、表の最終行をもとめるコード。正しいのはどれ? [[gazo/quiz_09_03.png]]
解説:
最終行を求めるための正しいコードは`Cells(Rows.Count, 1).End(xlUp).Row`です。

マクロの名前についての記述で正しいものはどれか?
解説:
マクロの名前にはアンダーバー(`_`)を使用できますが、ハイフン(`-`)や名前の先頭に数字を使用することはできません。

マクロの記録のショートカットキーに関する記述で正しいものはどれか?
解説:
既存のショートカットキーと同じアルファベットをマクロのショートカットに割り当てると、マクロが優先されます。
また、マクロのショートカットにはアルファベットの大文字のみを使用できます。

マク口につける名前で正しいものはどれか。
解説:
マクロの名前には先頭に数字を使用することはできません。

VBAエキスパートへの道クイズ10回に登場した問題と語句の解説

OffsetプロパティとResizeプロパティ、Endプロパティ、CurrentRegionプロパティに関する問題

クイズ10回に登場した語句の解説

ワークシートのシート名を繰り返し処理で変更する マクロ コードを作成したい。消された部分に入るコードで正しい物はどれか?
解説: 正解は、 Worksheets(i).Name = i & "回テスト"
このコードは、iの値(繰り返しの番号)に基づいてシート名を変更します。

条件分岐で使うIfステートメントの説明で正しいものはどれですか?
解説: 正解は、 Ifステートメントは、条件式がTrueの場合に実行する処理を指定するものです。
Ifステートメントは、条件式がTrueの場合に実行する処理を指定します。

複数の条件で処理を振り分ける「If~Elseステートメント(複数条件指定)」の説明で正しいものはどれですか?
解説: 正解は、 If文で指定した条件がTrueの場合の処理を書き、それ以外の場合の処理はElseの後に記述する。 条件がTrueの場合の処理の後に、それ以外の処理をElseで指定します。

1つの条件を満たしたときと満たさなかったときで処理を振り分けるステートメントは何ですか?
解説: 正解は、 If~Elseステートメント
If~Elseステートメントはこの説明に当てはまります。

マクロを実行したときに、左の図が右の図の結果になるようにコードを完成させてください。正しいコードはどれですか?
Forのネスト
解説: 正解は、

Cells(i, j).Value = Cells(i, 1).Value * Cells(1, j).Value
このコードは、各セルの値を左の列と上の行のセルの値の積として計算します。これは問題の要求に正しく答えています。

マクロを実行したときに、図のようにシートに★が入るようになるコードを完成させなさい。正しいコードはどれですか?
セルに同じ処理
解説: 正解は、

For j = 1 To 3
 Cells(i, j).Value = ""★""
Next j"
このコードは、各セルに"★"を入れるための繰り返し処理を行います。

マクロを実行したときに、図のようにシートに背景色が変わるコードを完成させなさい。正しいコードはどれですか?
背景色ForEach
解説: 正解は、

For Each myRng In Range("A1:C5")

コードを実行したときに、70点以上の場合フォントの色が変わるように、①と②に当てはまるコードを選びマクロを完成させなさい。
フォントの色変更For Each
解説: 正解は、
① myRng.Value
② myRng.Font.ColorIndex

Sub セル範囲の各セルに対して処理を行う()
    Dim myRng As Range
    For Each myRng In Range("B2:D8")
        If myRng.Value >= 70 Then
           myRng.Font.ColorIndex = 7
        End If
    Next
End Sub