VBAエキスパート Excel VBA ベーシック ④ 変数と定数

値を一時的に入れておく変数と、変えない値に名前を付ける定数を学びます。Dim による宣言、Long・String・Double・Boolean・Date・Variant といったデータ型の選び方、Option Explicit を書くと未宣言の変数をエラーで検出できること、Const による定数定義が要点です。適用範囲はプロシージャ内だけで有効なものからモジュール全体、全モジュールで使えるものまで段階があります。つまずきやすいのは、セルやシートなどオブジェクトを変数に入れるときは Set が必要な点と、Dim a, b As Long と書くと a が Variant 型になる点です。

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

クイズモードで挑戦 →

114「データ(数値や文字列など)を一時的に記憶する仕組み」を指すVBAの用語はどれですか。

  1. A
  2. B変数
  3. C定数
  4. Dプロシージャ
正解と解説を見る

正解:B変数

変数とは、データ(数値や文字列など)を一時的に記憶する仕組みのことです。

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

115「データやオブジェクトの種類」を指すVBAの用語はどれですか。

  1. A
  2. Bプロシージャ
  3. Cスコープ
  4. D変数
正解と解説を見る

正解:A

型とは、データやオブジェクトの種類のことです。

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

116VBAにおいて、文字列を扱うためのデータ型として正しいものはどれですか。

  1. ADate型
  2. BString型
  3. CLong型
  4. DDouble型
正解と解説を見る

正解:BString型

文字列を扱う型の型名は「String」です。

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

117VBAにおいて、日付だけでなく時刻も扱えるデータ型として正しいものはどれですか。

  1. AString型
  2. BDouble型
  3. CDate型
  4. DBoolean型
正解と解説を見る

正解:CDate型

日付型(Date)は、日付だけでなく時刻も扱えます。

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

118VBAにおいて、小数を扱うときに使う小数点数型として正しいものはどれですか。

  1. AInteger型
  2. BCurrency型
  3. CLong型
  4. DDouble型
正解と解説を見る

正解:DDouble型

小数点数型は「Double」であり、小数を扱うときに使います。

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

119VBAにおいて、「True」か「False」の2つの値だけを扱うデータ型として正しいものはどれですか。

  1. ABoolean型
  2. BString型
  3. CDate型
  4. DVariant型
正解と解説を見る

正解:ABoolean型

ブーリアン型(Boolean)はTrueかFalseの2つの値を扱います。

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

120VBAにおいて、変数に型を指定しない場合、何型とみなされますか。

  1. AVariant型
  2. BLong型
  3. CInteger型
  4. DString型
正解と解説を見る

正解:AVariant型

型指定しないとバリアント型(Variant)とみなされます。

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

121数値に関するデータ型について、扱える数値の範囲が小さい順に並べたものとして正しいものはどれですか。

  1. ALong < Integer < Currency
  2. BCurrency < Long < Integer
  3. CInteger < Long < Currency
  4. DInteger < Currency < Long
正解と解説を見る

正解:CInteger < Long < Currency

小さい順に「Integer型 < Long型 < Currency型」となります。

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

122Integer型が扱うことができる整数の範囲として正しいものはどれですか。

  1. A-32,768 ~ 32,767
  2. B-256 ~ 255
  3. C-22億 ~ 22億くらい
  4. D制限なし
正解と解説を見る

正解:A-32,768 ~ 32,767

Integer型が扱えるのは-32,768~32,767の整数までです。

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

123Long型が扱うことができる数値の範囲の制限として、正しい目安はどれですか。

  1. A±3万程度まで
  2. B±32,767まで
  3. C±22億くらいまで
  4. D制限なし
正解と解説を見る

正解:C±22億くらいまで

Long型は±22億くらいまでの数値を扱えます。

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

124VBAで変数を宣言するために使用するキーワードとして正しいものはどれですか。

  1. AConst
  2. BSub
  3. CDim
  4. DAs
正解と解説を見る

正解:CDim

変数を宣言するには、Dimというキーワードを使って「Dim 変数名」と書きます。

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

125変数を宣言して値を使用するまでの3つのステップについて、正しい順序で並んでいるものはどれですか。

  1. A1.変数に値を入れる → 2.変数を宣言する → 3.変数を使う
  2. B1.変数を宣言する → 2.変数に値を入れる → 3.変数を使う
  3. C1.変数を宣言する → 2.変数を使う → 3.変数に値を入れる
  4. D1.変数を使う → 2.変数を宣言する → 3.変数に値を入れる
正解と解説を見る

正解:B1.変数を宣言する → 2.変数に値を入れる → 3.変数を使う

3つのステップは「1.変数を宣言する」「2.変数に値を入れる」「3.変数を使う」の順です。

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

126変数の宣言で型を指定する際に、変数の名前と型の間に使用するキーワードとして正しいものはどれですか。

  1. ADim
  2. BPublic
  3. CConst
  4. DAs
正解と解説を見る

正解:DAs

型を指定するには、Asというキーワードを使って「Dim 変数名 As 型」と書きます。

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

127変数の重要な役割の1つとして、正しいものはどれですか。

  1. A計算の処理速度を高速化する
  2. Bエラーを自動で修正する
  3. C値に名前を付ける
  4. DExcelの関数を増やす
正解と解説を見る

正解:C値に名前を付ける

変数の重要な役割の1つに、「値に名前を付ける」ことが挙げられます。

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

128VBEで変数の宣言を強制するために、モジュールの一番上に表示される文字列はどれですか。

  1. AOption Explicit
  2. BDim Explicit
  3. CPublic Explicit
  4. DConst Explicit
正解と解説を見る

正解:AOption Explicit

モジュールの一番上に「Option Explicit」という文字列が表示されます。

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

129プロシージャの中だけで使える変数のことを何といいますか。

  1. Aモジュールレベル変数
  2. Bローカル変数
  3. Cパブリック変数
  4. Dユーザー定義変数
正解と解説を見る

正解:Bローカル変数

プロシージャの中だけで使える変数は「ローカル変数」です。

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

130モジュールの中だけで使える変数のことを何といいますか。

  1. Aローカル変数
  2. B組み込み変数
  3. Cパブリック変数
  4. Dモジュールレベル変数
正解と解説を見る

正解:Dモジュールレベル変数

モジュールの中だけで使える変数は「モジュールレベル変数」です。

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

131すべてのモジュールで使える変数のことを何といいますか。

  1. Aモジュールレベル変数
  2. Bローカル変数
  3. Cパブリック変数
  4. D組み込み変数
正解と解説を見る

正解:Cパブリック変数

すべてのモジュールで使える変数は「パブリック変数」です。

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

132パブリック変数を宣言するときに使用するキーワードとして正しいものはどれですか。

  1. ADim
  2. BPublic
  3. CConst
  4. DAs
正解と解説を見る

正解:BPublic

パブリック変数は「Public」で宣言します。

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

133値にわかりやすい名前を付けるために使い、宣言したあとに値を変更できない仕組みを何といいますか。

  1. Aローカル変数
  2. B引数
  3. Cバリアント型
  4. D定数
正解と解説を見る

正解:D定数

値にわかりやすい名前を付けるために使うのが定数で、宣言したあとに値を変更できません。

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

134定数を宣言するときに使用するキーワードとして正しいものはどれですか。

  1. ADim
  2. BPublic
  3. CAs
  4. DConst
正解と解説を見る

正解:DConst

定数の書き方は、Constというキーワードを使います。

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

135VBAであらかじめ決められている定数のことを何といいますか。

  1. Aユーザー定義定数
  2. Bモジュール定数
  3. Cローカル定数
  4. D組み込み定数
正解と解説を見る

正解:D組み込み定数

組み込み定数とは、VBAであらかじめ決められている定数のことです。

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

136試験でよく使われる変数名・定数名のうち、文字列の型(String型)として挙げられている文字の組み合わせはどれですか。

  1. Ai, j
  2. Bcnt, n
  3. Cs, buf
  4. Dbf
正解と解説を見る

正解:Cs, buf

文字列の変数名・定数名の例として「s, buf」が挙げられています。

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

137ダイアログボックスにユーザーが入力した値を取得するなど、どんな値を受け取るのかわからない場合に使う型として最も適しているものはどれですか。

  1. AVariant型
  2. BString型
  3. CDouble型
  4. DLong型
正解と解説を見る

正解:AVariant型

どんな値を受け取るのかわからないような場合はVariant型を使います。

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

138VBEの「オプション」ダイアログボックスにおいて、エラーメッセージが頻繁に表示されてコード入力の妨げになるのを防ぐためのオススメ設定はどれですか。

  1. A「変数の宣言を強制する」のチェックを外す
  2. B「自動構文チェック」のチェックを外す
  3. C「自動構文チェック」にチェックを入れる
  4. D「変数の宣言を強制する」にチェックを入れる
正解と解説を見る

正解:B「自動構文チェック」のチェックを外す

「自動構文チェック」はエラーメッセージが頻繁に表示されるため、チェックを外すのがオススメ設定です。

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

139次のコードを実行したとき、どのような結果になりますか。\nSub Sample()\n Dim 売上 As Long, 従業員数 As Long\n 売上 = 550000\n 従業員数 = 55\n MsgBox 売上 / 従業員数\nEnd Sub

  1. A画面に「550000」と表示される
  2. B画面に「55」と表示される
  3. Cコンパイルエラーが発生する
  4. D画面に「10000」と表示される
正解と解説を見る

正解:D画面に「10000」と表示される

売上(550000)を従業員数(55)で割った結果である10000がメッセージボックスで表示されます。

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

140「Option Explicit」が記述されたモジュールで、変数を宣言せずにマクロを実行しようとした場合、どうなりますか。

  1. A変数が自動的にLong型として作成され、処理が続行される
  2. Bエラーが表示される
  3. Cマクロは何もせずに正常終了する
  4. D変数が自動的に定数に変更される
正解と解説を見る

正解:Bエラーが表示される

Option Explicitを書くと、変数を宣言せずに変数を使ったときエラーが表示されます。

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

141変数のスコープ(適用範囲)について、使用できる範囲が「狭い順」に正しく並んでいるものはどれですか。

  1. Aローカル変数 < モジュールレベル変数 < パブリック変数
  2. Bモジュールレベル変数 < ローカル変数 < パブリック変数
  3. Cパブリック変数 < モジュールレベル変数 < ローカル変数
  4. Dローカル変数 < パブリック変数 < モジュールレベル変数
正解と解説を見る

正解:Aローカル変数 < モジュールレベル変数 < パブリック変数

スコープが狭い順に並べると、ローカル変数 < モジュールレベル変数 < パブリック変数となります。

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

142定数と変数の違いに関する記述として、正しいものはどれですか。

  1. A定数は宣言したあとに値を変更できるが、変数は変更できない
  2. B定数は宣言するときに値を設定するが、変数は宣言したあとで値を設定する
  3. C定数はDimキーワードで宣言するが、変数はConstキーワードで宣言する
  4. D定数は型を指定できないが、変数は型を指定できる
正解と解説を見る

正解:B定数は宣言するときに値を設定するが、変数は宣言したあとで値を設定する

定数は宣言するときに値を設定し、変数は宣言したあとで値を設定します。

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

143次の定数宣言のうち、「ユーザー定義定数」の正しい書き方はどれですか。

  1. A開始行 = 4 As Const
  2. BDim 開始行 As Long = 4
  3. CConst 開始行 = 4
  4. DConst 開始行 As Long = 4
正解と解説を見る

正解:DConst 開始行 As Long = 4

定数の書き方は「Const 定数名 As 型 = 値」であり、「Const 開始行 As Long = 4」が正しい書き方です。

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

144数値に関する型について、業務で「会計などで、±22億を超えるような大きい数を扱うとき」に使うべき型として推奨されるものはどれですか。

  1. ACurrency型
  2. BInteger型
  3. CDouble型
  4. DLong型
正解と解説を見る

正解:ACurrency型

会計などの業務では、22億を超える数値も扱えるCurrency型を使います。Long型は22億までなのでひっかけです。

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

145コード内に「Dim 売上, 従業員数 As Long」のように、複数の変数を1つのDimで宣言したとき、型を指定していない「売上」という変数の型はどう判断されますか。

  1. ALong型
  2. BInteger型
  3. CVariant型
  4. Dエラーになり宣言できない
正解と解説を見る

正解:CVariant型

型が指定されていない売上はVariant型になります。一見両方Long型に見えるためひっかけです。

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

146複数の変数を同じ行で並べて宣言する場合、エラーになってしまう書き方はどれですか。

  1. ADim 売上 As Long, Dim 従業員数 As Long
  2. BDim 売上 As Long, 従業員数 As Long
  3. CDim 売上 As Variant, 従業員数 As Long
  4. DDim 売上, 従業員数 As Long
正解と解説を見る

正解:ADim 売上 As Long, Dim 従業員数 As Long

同じ行に2つ以上「Dim」を書くとエラーになります。

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

147マクロのコード内で「Dim i As Long」と宣言したローカル変数を、別のプロシージャから呼び出して使用しようとした場合、どうなりますか。

  1. Aエラーが起きる
  2. B自動的にモジュールレベル変数に格上げされて使用できる
  3. C値が「0」のリセットされた状態で使用できる
  4. DPublic変数として処理される
正解と解説を見る

正解:Aエラーが起きる

あるプロシージャの中で宣言した変数は、別のプロシージャで使おうとするとエラーが起きます。

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

148定数「開始行」を「Const 開始行 As Long = 4」と宣言したあと、次の行で「開始行 = 5」と値を変更しようとするコードを実行した場合、どうなりますか。

  1. A開始行の値が5に変更されて処理が続く
  2. B変数のVariant型に自動変換される
  3. C値は4のまま無視されて処理が続く
  4. Dエラーが起きる
正解と解説を見る

正解:Dエラーが起きる

定数は宣言後に値を変更できないため、「開始行 = 5」と書くとエラーが起きます。

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

149VBAの「組み込み定数」の例として、正しくないものはどれですか。

  1. AvbYellow
  2. BvbYellowColor
  3. CxlDown
  4. DxlUp
正解と解説を見る

正解:BvbYellowColor

組み込み定数は「vbYellow」「vbRed」「xlUp」「xlDown」などであり、「vbYellowColor」という定数は存在しません。

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

150「精度が低いので通常は使わない」とされる小数点数型はどれですか。

  1. ADouble型
  2. BInteger型
  3. CSingle型
  4. DLong型
正解と解説を見る

正解:CSingle型

Single型は精度が低いため、通常は使いません。

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

151業務でコードを書くとき、「i」や「j」などの代わりに「行番号」や「RowNo」といった名前を付けることを推奨している理由として、ものはどれですか。

  1. A使用するメモリの容量を削減するため
  2. Bプログラムの実行速度を向上させるため
  3. C値の意味が明確に伝わる名前を付けるため
  4. DVBAのコンパイルエラーを防ぐため
正解と解説を見る

正解:C値の意味が明確に伝わる名前を付けるため

値の意味が明確に伝わる名前を付けることが推奨されます。

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

152変数の宣言に関する説明として正しいものはどれですか。

  1. A変数は使う前に必ず値を設定しなければ宣言できない
  2. B1つのDimでは1つの変数しか宣言できない
  3. C変数名には数字を一切使用できない
  4. DDimで宣言した変数は型を指定しないとVariant型になる
正解と解説を見る

正解:DDimで宣言した変数は型を指定しないとVariant型になる

Dimで宣言した変数に型(As 型)を指定しないと、Variant型とみなされます。

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

153組み込み定数を利用するメリットとして最も適切なものはどれですか。

  1. A処理速度が必ず2倍になる
  2. B自分で値を設定せずにVBAが用意した意味のある名前を使える
  3. C変数の宣言が不要になる
  4. Dエラーが一切発生しなくなる
正解と解説を見る

正解:B自分で値を設定せずにVBAが用意した意味のある名前を使える

組み込み定数はVBAがあらかじめ用意した定数で、意味のある名前をそのまま使えます。

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