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


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

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

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

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

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


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

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

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

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

セルのプロパティに関する問題

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

セルのプロパティでValue(バリュー)とは何ですか?
解説: セルのValueプロパティは、そのセルに格納されている実際のデータや数値を参照または設定するためのものです。例えば、数値や文字列、日付など、セルに直接入力されている値を取得する場合に使用します。

セルのプロパティでText(テキスト)とは何ですか?
解説: セルのTextプロパティは、セルに表示されているテキストを返します。これはフォーマットされたテキスト、つまりセルに適用されている表示形式に基づいて表示されるテキストを指します。

セルのプロパティでFormula(フォーミュラ)とは何ですか?
解説: セルのFormulaプロパティは、セルに入力されている数式を参照または設定するためのものです。例えば、=SUM(A1:A2) のような計算式がセルに入力されている場合、その数式を取得または設定するのに使用します。

セルのValue(バリュー)プロパティで値を設定するコードはどう書きますか?
解説: Range("A1").Value = 100 上記のコードは、A1セルの値を100に設定します。

セルのValue(バリュー)プロパティで値を取得するコードはどう書きますか?
解説:

Dim value As Variant
value = Range("A1").Value
上記のコードは、A1セルの値を変数valueに代入します。

プロパティを何も指定しない時はどのプロパティが指定されたとみなされますか?
解説: 指定しない場合、.Valueプロパティがデフォルトとして使用されます。

A3セルのテキストを取得すると、何が得られますか?
問題の参考画像
解説: 画像に基づき、A3セルのテキストは「350円」となります。テキストプロパティを使って取得すると、セルに表示されているこの文字列が得られます。

A3セルのFormulaを取得すると、何が得られますか?
解説: A3セルのFormulaを取得すると、=SUM(A1:A2)という数式が得られます。この数式は、A1セルとA2セルの合計を計算しています。

A1セルの値を300に変更するコードで一番望ましいのは、どれですか?
解説: 下記のVBAコードでA1セルの値を300に変更できます。
Range("A1").Value = 300

ValueをつけてもつけなくてもValueとなりますが、つけておいた方が良い理由はどうしてですか?
解説: Valueを明示的に指定することで、コードが読みやすくなり、他のプログラマーや将来の自分がコードを見返した際に、意図が明確に伝わります。また、特定のプロパティを意識的に使用していることを示すためにも、Valueを明示的に記述することが推奨されます。

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

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

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

セルのOffsetプロパティとは何ですか?
解説: Offsetプロパティは、指定したセルから特定の行と列の距離だけ離れたセルを参照するためのプロパティです。
具体的には、.Offset(行の移動数, 列の移動数) の形式で使用します。例えば、Range("A1").Offset(1, 1) はA1セルから1行下、1列右のセル、すなわちB2セルを参照します。

B2セルを基準にしてOffsetプロパティで、C2セルの値を取得するコードは正しいものはどれですか?
問題の参考画像 解説: 正解は Range("B2").Offset(0, 1).Value です。ここで、Offset(0, 1) はB2セルから0行移動、1列右移動のC2セルを指します。

次のコードでは、どのセルが選択されますか? Range("A1").Offset(3, 2).Select
解説: このコードは、A1セルを基点にして、3行下と2列右に移動したセル、すなわちC4セルを選択します。

Offsetプロパティの構文で正しい物はどれですか?
解説: 正解は .Offset(RowOffset, ColumnOffset) です。ここで、RowOffset は行の移動数、ColumnOffset は列の移動数を示します。

セルのResizeプロパティとは何ですか?
解説: Resizeプロパティは、指定したセル範囲のサイズを変更するためのプロパティです。.Resize(行数, 列数) の形式で使用します。例えば、Range("A1").Resize(2, 3) はA1セルを起点に、2行×3列の範囲、すなわちA1からC2までの範囲を参照します。

次のコードでは、どのセル範囲が選択されますか? ` Range("A1").Resize(2, 3).Select’
解説: このコードは、A1セルを基点にして、2行×3列の範囲を選択します。具体的にはA1セルからC2セルまでの範囲を選択します。

セルのEndプロパティとは何ですか?
解説: Endプロパティは、指定した方向に連続したデータがある最後のセルを参照するためのプロパティです。.End(方向) の形式で使用します。方向には、xlUp(上方向)、xlDown(下方向)、xlToLeft(左方向)、xlToRight(右方向)などを指定します。例えば、Range("A1").End(xlDown) はA列でA1セルの下に連続している最後のセルを参照します。

次のコードでは、どのセルが選択されますか? Range("A1").End(xlDown).Select

解説: このコードは、A1セルから下方向に連続している最後のセルを選択します。具体的なセルは、データが入力されている範囲によりますが、例の場合、A列の最後のデータが入っているセルを選択します。

セルのCurrentRegionプロパティとは何ですか?
解説: CurrentRegionプロパティは、指定したセルを含む連続したデータの範囲を参照するためのプロパティです。例えば、表の中の任意のセルを指定してこのプロパティを使用すると、その表全体を参照することができます。

表の部分だけを選択するコードで正しいのはどれですか?
問題の参考画像
解説: 正解は Range("任意のセル").CurrentRegion.Select です。ここで、"任意のセル"は表の中のいずれかのセルを示します。
このコードを実行すると、指定したセルを含む表全体を選択することができます。
例として、表の中央のセルであるB2にデータが入っている場合、
Range("B2").CurrentRegion.Select
とすることで、その表全体が選択されます。