VBAエキスパート Excel VBA ベーシック ③ VBAの構文

VBAの文の組み立て方そのものを扱う分野です。中心はオブジェクト式で、「オブジェクト.プロパティ」で状態を取得・設定し、「オブジェクト.メソッド」で動作を実行するという構造を理解します。メソッドの引数は順番で渡す方法と、引数名:=値 と書く名前付き引数の方法があります。あわせてステートメント、関数、算術・比較・論理演算子、文字列連結の & を学びます。つまずきやすいのは、代入の = と名前付き引数の := の書き分け、そして文字列連結で + ではなく & を使う理由(数値と文字列が混在すると + は挙動が変わる)です。

この分野の問題40問を、選択肢・正解・解説つきで掲載しています。まず自分で解答を考えてから「正解と解説を見る」を開いて答え合わせをしてください。

クイズモードで挑戦 →

74VBAにおいて、ブックやシートやセルなど、操作する対象のことを何と呼ぶか。

  1. Aプロパティ
  2. Bオブジェクト
  3. Cメソッド
  4. Dステートメント
正解と解説を見る

正解:Bオブジェクト

ブックやシートやセルなど、操作する対象のことはオブジェクトと呼ばれます。

この問題の解説ページを開く →

75同じ種類のオブジェクトの集合体を何と呼ぶか。

  1. Aパラメータ
  2. Bプロシージャ
  3. Cメソッド
  4. Dコレクション
正解と解説を見る

正解:Dコレクション

同じ種類のオブジェクトを複数まとめたものをコレクションと呼びます。

この問題の解説ページを開く →

76「Sheet1」という名前のシートを指定する正しい書き方はどれか。

  1. ASheets("Sheet1")
  2. BSheets(Sheet1)
  3. CSheet("Sheet1")
  4. DSheet(Sheet1)
正解と解説を見る

正解:ASheets("Sheet1")

シートの名前はSheetsオブジェクトを使い、名前をダブルクォーテーションで囲みます。

この問題の解説ページを開く →

77ブックやシートの名前を指定する際、誤ってダブルクォーテーションで囲まなかった場合どうなるか。

  1. A自動的に文字列に変換される
  2. B文字列として認識されずエラーの原因になる
  3. Cコンパイルエラーで保存できない
  4. D無視して次の処理に進む
正解と解説を見る

正解:B文字列として認識されずエラーの原因になる

名前をダブルクォーテーションで囲まないと文字列として認識されずエラーの原因になります。

この問題の解説ページを開く →

78セルを表すコレクション名はどれか。

  1. ASheet
  2. BCells
  3. CRange
  4. DCell
正解と解説を見る

正解:CRange

セルを表すコレクションは「Range」と表します。

この問題の解説ページを開く →

79ブック、シート、セル、図形の階層構造(親子関係)の記述として正しいものはどれか。

  1. Aブックの子がシートでありシートの子がセルである
  2. Bシートの子がブックである
  3. Cセルの子がシートである
  4. D図形の子がシートである
正解と解説を見る

正解:Aブックの子がシートでありシートの子がセルである

オブジェクトには親子関係があり、ブックの下にシート、シートの下にセルと図形が属します。

この問題の解説ページを開く →

80A2セルをRangeオブジェクトを使って指定する正しい書き方はどれか。

  1. ARange("2, 1")
  2. BRange(A2)
  3. CRange("A2")
  4. DRange("1, 2")
正解と解説を見る

正解:CRange("A2")

Rangeを使って単一セルを指定する場合は、セルのアドレスをダブルクォーテーションで囲みます。

この問題の解説ページを開く →

81A2セルをCellsを使って指定する正しい書き方はどれか。

  1. ACells("A2")
  2. BCells(1, 2)
  3. CCells(A, 2)
  4. DCells(2, 1)
正解と解説を見る

正解:DCells(2, 1)

Cellsは「Cells(行番号, 列番号)」で指定するため、A2セルはCells(2, 1)となります。

この問題の解説ページを開く →

82A1セルとB3セルという「離れた2つのセル」を同時に指定する正しい書き方はどれか。

  1. ACells(1, 1, 3, 2)
  2. BRange("A1:B3")
  3. CCells("A1, B3")
  4. DRange("A1, B3")
正解と解説を見る

正解:DRange("A1, B3")

複数セルをまとめて指定するにはカンマを使ってRange("A1, B3")と書きます。

この問題の解説ページを開く →

83Cellsを使ってA2セルを指定する場合、列番号の代わりに列記号を使って書くことができる。正しい書き方はどれか。

  1. ACells(2, A)
  2. BCells(2, "A")
  3. CCells("A", 2)
  4. DCells("2, A")
正解と解説を見る

正解:BCells(2, "A")

Cells(2, "A")のように、列番号の代わりに列記号をダブルクォーテーションで囲んで指定できます。

この問題の解説ページを開く →

84A2からB2までの「セル範囲」を指定する際の特徴として正しいものはどれか。

  1. ACells(2, 1, 2, 2)と記述できる
  2. BCells("A2:B2")と記述できる
  3. CCellsではセル範囲を表せない
  4. DCells(2, "A:B")と記述できる
正解と解説を見る

正解:CCellsではセル範囲を表せない

セル範囲や離れた複数セルの指定は、Cellsでは表せません。

この問題の解説ページを開く →

85「Range("A1, A2:B2")」というコードが指定している範囲はどれか。

  1. AA1からB2までのすべてのセル
  2. B単一セルA1とセル範囲A2からB2までの組み合わせ
  3. CA1からA2までの範囲とB1セルの組み合わせ
  4. DA1とA2とB2の3つのセル
正解と解説を見る

正解:B単一セルA1とセル範囲A2からB2までの組み合わせ

単一セル「A1」と複数セル「A2:B2」をカンマで組み合わせた書き方です。

この問題の解説ページを開く →

86ブック、シート、セルの順番にオブジェクトを書く際、間に入れる記号はどれか。

  1. Aピリオド (.)
  2. Bカンマ (,)
  3. Cコロン (:)
  4. Dエクスクラメーション (!)
正解と解説を見る

正解:Aピリオド (.)

オブジェクトの間にはピリオド「.」を入れます。

この問題の解説ページを開く →

87コード内でブックやシートを指定せずに「Range("A2")」とだけ書いた場合、どのセルが操作対象となるか。

  1. A常にブック1のSheet1のA2セル
  2. Bエラーになり実行できない
  3. C全てのシートのA2セル
  4. DアクティブなシートのA2セル
正解と解説を見る

正解:DアクティブなシートのA2セル

ブックやシートを指定しないと、アクティブなブックやシートが指定されたものとみなされます。

この問題の解説ページを開く →

88あるブックのシートにあるセルを指定するコードとして、正しい順番で記述されているものはどれか。

  1. ARange("A2").Sheets("シート1").Workbooks("ブック1")
  2. BSheets("シート1").Workbooks("ブック1").Range("A2")
  3. CRange("A2").Workbooks("ブック1").Sheets("シート1")
  4. DWorkbooks("ブック1").Sheets("シート1").Range("A2")
正解と解説を見る

正解:DWorkbooks("ブック1").Sheets("シート1").Range("A2")

ブック、シート、セルの順番にオブジェクトを書き、間にピリオドを入れます。

この問題の解説ページを開く →

89セルの書き方として、文字列として認識されずエラーになるものはどれか。

  1. ARange("A2")
  2. BCells(2, 1)
  3. CCells(2, "A")
  4. DRange(A2)
正解と解説を見る

正解:DRange(A2)

セルのアドレスや列記号などは必ずダブルクォーテーションで囲む必要があります。

この問題の解説ページを開く →

90「Range("A1:A2, B2")」というコードが指定しているセル範囲の意味として正しいものはどれか。

  1. A3つの単一セルA1とA2とB2の指定
  2. B単一セルA1と複数セルA2からB2の組み合わせ
  3. Cセル範囲A1からA2と単一セルB2の組み合わせ
  4. DA1からB2までの四角いセル範囲
正解と解説を見る

正解:Cセル範囲A1からA2と単一セルB2の組み合わせ

コロンで繋がれた「A1:A2」と、カンマで区切られた単一セル「B2」の組み合わせです。

この問題の解説ページを開く →

91Cellsを使うメリットとして正しいものはどれか。

  1. Aアドレス指定ができ直感的でわかりやすいため
  2. B離れた複数セルを1行で簡単に指定できるため
  3. Cセルを数値で指定でき繰り返し処理と相性がよいため
  4. Dダブルクォーテーションを使わずに記述できるため
正解と解説を見る

正解:Cセルを数値で指定でき繰り返し処理と相性がよいため

Cellsはセルを数値で指定できるのが特徴で、繰り返し処理ととても相性がよいです。

この問題の解説ページを開く →

92オブジェクトの属性や状態(設定値など)を表す用語はどれか。

  1. Aプロパティ
  2. Bメソッド
  3. Cコレクション
  4. Dオブジェクト式
正解と解説を見る

正解:Aプロパティ

オブジェクトの属性や状態のことを「プロパティ」と呼びます。

この問題の解説ページを開く →

93オブジェクトに動作や計算をさせる命令を表す用語はどれか。

  1. Aコレクション
  2. Bメソッド
  3. Cパラメータ
  4. Dプロパティ
正解と解説を見る

正解:Bメソッド

オブジェクトに動作や計算をさせる命令のことを「メソッド」と呼びます。

この問題の解説ページを開く →

94メソッドを実行する際に指定する補足情報(引数)を名前付きで指定するときに使う記号はどれか。

  1. A:
  2. B=
  3. C:=
  4. D&
正解と解説を見る

正解:C:=

引数を指定するときは、コロンとイコールの記号を使って「引数名:=値」のように書きます。

この問題の解説ページを開く →

95プロパティの値を変更するときに使う正しい記号はどれか。

  1. A=
  2. B:=
  3. C&
  4. D:
正解と解説を見る

正解:A=

プロパティを変更するときはイコール「=」を使います。

この問題の解説ページを開く →

96セルの「プロパティ」に該当するものはどれか。

  1. ASelect
  2. BCopy
  3. CValue
  4. DDelete
正解と解説を見る

正解:CValue

Valueはセルの値を取得・設定するプロパティです。SelectやCopyはメソッドです。

この問題の解説ページを開く →

97セルのCopyメソッドで、コピー先を表す引数「Destination」の引数名を省略して書いた正しいコードはどれか。

  1. ARange("A2").Copy Destination Range("B2")
  2. BRange("A2").Copy.Range("B2")
  3. CRange("A2").Copy Range("B2")
  4. DRange("A2") Copy Range("B2")
正解と解説を見る

正解:CRange("A2").Copy Range("B2")

引数が1つしかないメソッドや順番どおりに指定する場合は「引数名:=」を省略して書くことができます。

この問題の解説ページを開く →

98引数を複数指定するときに使う区切り記号はどれか。

  1. Aカンマ (,)
  2. Bピリオド (.)
  3. Cコロン (:)
  4. Dアンド (&)
正解と解説を見る

正解:Aカンマ (,)

引数を複数指定するときはカンマを使って記述します。

この問題の解説ページを開く →

99メソッドの引数指定とプロパティの変更で使われる記号の組み合わせとして正しいものはどれか。

  1. Aメソッドは「:=」・プロパティは「=」
  2. Bメソッドは「=」・プロパティは「:=」
  3. Cメソッドは「:」・プロパティは「:=」
  4. Dメソッドは「=」・プロパティは「=」
正解と解説を見る

正解:Aメソッドは「:=」・プロパティは「=」

メソッドで引数を指定する場合は「:=」、プロパティの値を変更する場合は「=」を使います。

この問題の解説ページを開く →

100関数から出力される処理結果のことを何と呼ぶか。

  1. A戻り値
  2. B引数
  3. Cプロパティ
  4. Dオブジェクト
正解と解説を見る

正解:A戻り値

関数が出力する処理結果のことを「戻り値」といいます。

この問題の解説ページを開く →

101関数に投入する必要な情報のことを何と呼ぶか。

  1. A戻り値
  2. Bメソッド
  3. Cオブジェクト
  4. D引数
正解と解説を見る

正解:D引数

関数内で処理を行うために必要な情報のことを「引数」といいます。

この問題の解説ページを開く →

102掛け算を行う算術演算子はどれか。

  1. Ax
  2. B*
  3. C/
  4. D¥
正解と解説を見る

正解:B*

掛け算を行う算術演算子は「x」ではなく「*」(アスタリスク)です。

この問題の解説ページを開く →

103割り算の「余り」を求める算術演算子はどれか。

  1. A/
  2. BMod
  3. C¥
  4. D%
正解と解説を見る

正解:BMod

余りを求める算術演算子には「Mod」を使います。

この問題の解説ページを開く →

104割り算の「商」を求める算術演算子はどれか。

  1. A¥
  2. BMod
  3. C/
  4. D*
正解と解説を見る

正解:A¥

商を求める算術演算子には円マーク「¥」を使います。

この問題の解説ページを開く →

105「9を2で割った余り」を求める式として正しいものはどれか。

  1. A9 Mod 2
  2. B9 ¥ 2
  3. C9 * 2
  4. D9 / 2
正解と解説を見る

正解:A9 Mod 2

「9 Mod 2」を実行すると余りである「1」が得られます。

この問題の解説ページを開く →

106「オブジェクトが等しい」ことを比較する演算子はどれか。

  1. A==
  2. B=
  3. CLike
  4. DIs
正解と解説を見る

正解:DIs

値ではなく「オブジェクトが等しい」を表す場合は「Is」を使います。

この問題の解説ページを開く →

107値に「東京」が含まれているか(部分一致)を判定する比較演算子の書き方として正しいものはどれか。

  1. ALike "東京*"
  2. BLike "*東京*"
  3. CLike "*東京"
  4. DLike "東京"
正解と解説を見る

正解:BLike "*東京*"

前後に「*」をつけることで、その文字列を含む(部分一致)という条件になります。

この問題の解説ページを開く →

108値が「東京」で始まるか(前方一致)を判定する比較演算子の書き方として正しいものはどれか。

  1. ALike "*東京*"
  2. BLike "*東京"
  3. CIs "東京*"
  4. DLike "東京*"
正解と解説を見る

正解:DLike "東京*"

「東京」の後ろに何らかの文字がある、つまり「東京で始まる」を表すには「Like "東京*"」と書きます。

この問題の解説ページを開く →

109文字列同士を結合する演算子は「+」ともう一つはどれか。

  1. AAnd
  2. B&
  3. COr
  4. DMod
正解と解説を見る

正解:B&

文字列同士をつなげる文字列結合演算子には「&」または「+」を使います。

この問題の解説ページを開く →

110「2つの条件を同時に満たす」論理積を表す論理演算子はどれか。

  1. ANot
  2. BOr
  3. CAnd
  4. DLike
正解と解説を見る

正解:CAnd

2つの条件を同時に満たす論理積には「And」を使います。

この問題の解説ページを開く →

111「値が2超かつ5未満の場合」を表す正しい条件式の書き方はどれか。

  1. A値 > 2 And < 5
  2. B値 > 2 Or < 5
  3. C値 > 2 Or 値 < 5
  4. D値 > 2 And 値 < 5
正解と解説を見る

正解:D値 > 2 And 値 < 5

AndやOrの左辺と右辺は、それぞれが式として成立している必要があるため「値 > 2 And 値 < 5」が正解です。

この問題の解説ページを開く →

112指定した条件を満たさない場合(論理否定)を表す論理演算子はどれか。

  1. AAnd
  2. BOr
  3. CNot
  4. D!=
正解と解説を見る

正解:CNot

指定した条件を満たさない場合(論理否定)を表すには「Not」を使います。

この問題の解説ページを開く →

113値を代入(設定)する場合に使われる代入演算子はどれか。

  1. A:=
  2. B=
  3. CIs
  4. D&
正解と解説を見る

正解:B=

値を代入(設定)する場合には代入演算子「=」を使います。

この問題の解説ページを開く →
VBAエキスパート Excel VBA ベーシックの全分野一覧へ戻る