VBAエキスパート Excel VBA ベーシック ② モジュールとプロシージャ

コードを書く器である標準モジュールと、処理のまとまりであるプロシージャを学びます。Sub プロシージャは Sub 名前() で始まり End Sub で終わること、値を返す Function プロシージャでは関数名に結果を代入すること、Call による呼び出しと引数の渡し方、Public と Private による適用範囲の違いが問われます。コメントはアポストロフィ(')または Rem で記述し、その行の以降が無視されます。つまずきどころは、Call を使う場合と省略する場合で引数のかっこの付け方が変わる点と、Sub と Function の役割の混同です。

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

クイズモードで挑戦 →

39モジュールとはどのようなものか。最も適切なものを選択しなさい。

  1. Aマクロを実行するためのボタンである
  2. Bマクロを記述する場所のことである
  3. CExcelのシートを保存する場所である
  4. DVBAのエラーを表示する機能である
正解と解説を見る

正解:Bマクロを記述する場所のことである

モジュールとは、マクロを記述する場所のことです。

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

40通常、マクロを記述するために使われるモジュールはどれか。

  1. A標準モジュール
  2. Bシートモジュール
  3. Cブックモジュール
  4. Dフォームモジュール
正解と解説を見る

正解:A標準モジュール

通常マクロを記述する場所として「標準モジュール」を使います。

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

41標準モジュールの名前に使用できない文字はどれか。

  1. A漢字
  2. B「?」や「/」
  3. Cひらがな
  4. D数字
正解と解説を見る

正解:B「?」や「/」

標準モジュールの名前に「?」や「/」などは使用できません。

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

42ブックモジュールは、1つのブックに対していくつ作成できるか。

  1. A1つだけ作成できる
  2. Bシートの数だけ作成できる
  3. Cいくつでも作成できる
  4. D作成できない
正解と解説を見る

正解:A1つだけ作成できる

ブックモジュールはブックに対して1つだけ作成できます。

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

43シートモジュールについての正しい説明はどれか。

  1. Aシートごとに複数作成できる
  2. B各シートに対して1つだけ作成できる
  3. Cブック全体で1つだけ作成できる
  4. D標準モジュールと同じ数だけ作成できる
正解と解説を見る

正解:B各シートに対して1つだけ作成できる

シートモジュールは各シートに対して1つだけ作成できます。

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

44標準モジュールはいくつ作成できるか。

  1. Aいくつでも作成できる
  2. Bシートの数と同じ数だけ作成できる
  3. Cブックの数と同じ数だけ作成できる
  4. D1つしか作成できない
正解と解説を見る

正解:Aいくつでも作成できる

標準モジュールはいくつでも作成できます。

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

45VBEで「プロジェクトエクスプローラー」を表示するためのメニューの操作はどれか。

  1. A[ファイル]→[プロジェクトエクスプローラー]
  2. B[編集]→[プロジェクトエクスプローラー]
  3. C[挿入]→[プロジェクトエクスプローラー]
  4. D[表示]→[プロジェクトエクスプローラー]
正解と解説を見る

正解:D[表示]→[プロジェクトエクスプローラー]

VBEのメニューから、[表示]→[プロジェクトエクスプローラー]をクリックします。

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

46標準モジュールを追加する正しい手順はどれか。

  1. Aメニューの[ファイル]から[標準モジュール]をクリックする
  2. Bメニューの[表示]から[標準モジュール]をクリックする
  3. C【コードウィンドウ】で右クリックし、[挿入]→[標準モジュール]をクリックする
  4. D【プロジェクトエクスプローラー】で右クリックし、[挿入]→[標準モジュール]をクリックする
正解と解説を見る

正解:D【プロジェクトエクスプローラー】で右クリックし、[挿入]→[標準モジュール]をクリックする

【プロジェクトエクスプローラー】で右クリックし、[挿入]→[標準モジュール]をクリックして追加します。

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

47VBAのコードを書く場所を何と呼ぶか。

  1. Aプロジェクトエクスプローラー
  2. Bプロパティウィンドウ
  3. Cコードウィンドウ
  4. Dローカルウィンドウ
正解と解説を見る

正解:Cコードウィンドウ

コードを書く場所は[コードウィンドウ]です。

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

48削除できないモジュールはどれか。

  1. A挿入した標準モジュール
  2. Bエクスポートしたモジュール
  3. Cインポートしたモジュール
  4. D「Sheet1」や「ThisWorkbook」のモジュール
正解と解説を見る

正解:D「Sheet1」や「ThisWorkbook」のモジュール

「Sheet1」や「ThisWorkbook」のモジュールは削除できません。

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

49モジュールをエクスポートしたときに作成されるファイルの拡張子はどれか。

  1. A.xls
  2. B.bas
  3. C.txt
  4. D.mod
正解と解説を見る

正解:B.bas

モジュールをエクスポートすると拡張子が「bas」のファイルが作成されます。

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

50モジュールのインポートに関する説明として正しいものはどれか。

  1. A同じモジュールは1度しかインポートできない
  2. B同じモジュールを何度でもインポートできる
  3. Cシートモジュールのみインポートできる
  4. Dインポートすると元のモジュールは削除される
正解と解説を見る

正解:B同じモジュールを何度でもインポートできる

同じモジュールを何度でもインポートできます。

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

51モジュールを別のブックに保存したいときのエクスポート手順として正しいものはどれか。

  1. A【プロジェクトエクスプローラー】で保存したいモジュールを右クリックし、[ファイルの保存]をクリックする
  2. Bメニューの[ファイル]から[モジュールのエクスポート]をクリックする
  3. C【コードウィンドウ】を右クリックし、[ファイルのエクスポート]をクリックする
  4. D【プロジェクトエクスプローラー】で保存したいモジュールを右クリックし、[ファイルのエクスポート]をクリックする
正解と解説を見る

正解:D【プロジェクトエクスプローラー】で保存したいモジュールを右クリックし、[ファイルのエクスポート]をクリックする

【プロジェクトエクスプローラー】で対象モジュールを右クリックし、[ファイルのエクスポート]をクリックします。

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

52コードを実行するために作成する、処理の最小実行単位を何と呼ぶか。

  1. Aプロシージャ
  2. Bプロパティ
  3. Cモジュール
  4. Dステートメント
正解と解説を見る

正解:Aプロシージャ

処理の最小実行単位をプロシージャと呼びます。

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

53Subプロシージャはどのように終わるか。

  1. AEnd Procedure
  2. BStop Sub
  3. CExit Sub
  4. DEnd Sub
正解と解説を見る

正解:DEnd Sub

Subプロシージャは「Sub」で始まり「End Sub」で終わります。

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

54プロシージャを実行するためのショートカットキーはどれか。

  1. AF1
  2. BF3
  3. CF8
  4. DF5
正解と解説を見る

正解:DF5

実行したいプロシージャにカーソルを置き、F5キーを押して実行します。

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

55SubプロシージャとFunctionプロシージャの違いに関する説明で正しいものはどれか。

  1. ASubプロシージャは値を返すが、Functionプロシージャは値を返さない
  2. Bどちらも値を返すことができる
  3. CFunctionプロシージャは値を返すが、Subプロシージャは値を返さない
  4. Dどちらも値を返すことができない
正解と解説を見る

正解:CFunctionプロシージャは値を返すが、Subプロシージャは値を返さない

Functionプロシージャは値を返すことができますが、Subプロシージャは値を返せません。

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

56「マクロ」ダイアログボックス(マクロの一覧)に表示されないプロシージャはどれか。

  1. ASubプロシージャ
  2. BFunctionプロシージャ
  3. C標準モジュール内のプロシージャ
  4. D日本語の名前を付けたプロシージャ
正解と解説を見る

正解:BFunctionプロシージャ

Functionプロシージャはマクロの一覧に表示されません。

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

571つのモジュール内にプロシージャが複数ある場合、コードウィンドウではどのように表示されるか。

  1. Aプロシージャの間に区切り線が表示される
  2. Bプロシージャごとにタブが分かれる
  3. C別のコードウィンドウが新しく開く
  4. Dプロシージャがフォルダにまとまる
正解と解説を見る

正解:Aプロシージャの間に区切り線が表示される

プロシージャが複数ある場合は、プロシージャの間に区切り線が表示されます。

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

58あるプロシージャから別のプロシージャを呼び出すために使用するステートメントはどれか。

  1. AInvoke
  2. BRun
  3. CCall
  4. DExecute
正解と解説を見る

正解:CCall

別のプロシージャを呼び出すときはCallステートメントを使います。

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

59「データ書き込み」というプロシージャを呼び出す正しい書き方はどれか。

  1. ARun データ書き込み
  2. BCall データ書き込み
  3. CInvoke データ書き込み()
  4. DCall("データ書き込み")
正解と解説を見る

正解:BCall データ書き込み

「Call プロシージャ名」という構文で記述します。

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

60Callステートメントで呼び出されるプロシージャの定義箇所にカーソルを移動するショートカットキーはどれか。

  1. ACtrl+F2
  2. BAlt+F2
  3. CShift+F2
  4. DF2
正解と解説を見る

正解:CShift+F2

呼び出されるプロシージャの定義箇所にカーソルを移動するには、Shift+F2を押します。

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

61長いコードを途中で改行したい場合、どのようにつなぐか。

  1. A半角スペースとアンダーバーを入力する
  2. B全角スペースとアンダーバーを入力する
  3. C半角スペースとハイフンを入力する
  4. Dアンダーバーのみを入力する
正解と解説を見る

正解:A半角スペースとアンダーバーを入力する

改行したい箇所で、半角スペースとアンダーバー「_」を入力します。

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

621行のコードを途中で改行する際に使用する記号はどれか。

  1. A「-」(ハイフン)
  2. B「/」(スラッシュ)
  3. C「'」(シングルクォーテーション)
  4. D「_」(アンダーバー)
正解と解説を見る

正解:D「_」(アンダーバー)

コードの途中で改行するときはアンダーバー「_」を使います。

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

63コード内にコメント(注釈)を書く際に使用する記号はどれか。

  1. A「'」(シングルクォーテーション)
  2. B「"」(ダブルクォーテーション)
  3. C「*」(アスタリスク)
  4. D「#」(シャープ)
正解と解説を見る

正解:A「'」(シングルクォーテーション)

コメントにはシングルクォーテーション「'」を使います。

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

64コメントを記述できる場所について、誤っている説明はどれか。

  1. Aコードの行間(独立した行)に書ける
  2. Bコードの行末に続けて書ける
  3. Cシングルクォーテーションの右側がすべてコメントになる
  4. Dプロシージャの外側には書けない
正解と解説を見る

正解:Dプロシージャの外側には書けない

コメントはプロシージャ内だけでなく、プロシージャの外にも記述できます。

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

65コードを見やすくするために行頭に空白を入れることを何と呼ぶか。

  1. Aインデント
  2. Bステートメント
  3. Cコメント
  4. Dプロシージャ
正解と解説を見る

正解:Aインデント

行頭に空白を入れてコードを見やすくすることをインデントと呼びます。

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

66インデント(空白)を挿入するためによく使われるキーはどれか。

  1. AEnter
  2. BShift
  3. CTab
  4. DCtrl
正解と解説を見る

正解:CTab

インデントを入れるにはTabキーを使います。

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

67挿入したインデントを解除する(なくす)ショートカットキーはどれか。

  1. ABackspace + Tab
  2. BCtrl + Tab
  3. CAlt + Tab
  4. DShift + Tab
正解と解説を見る

正解:DShift + Tab

インデントをなくすには、Shift + Tabキーを押します。

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

68複数のコードをまとめてインデントするにはどうすればよいか。

  1. A1行ずつTabキーを押すしかない
  2. B複数のコードを選択した状態でEnterキーを押す
  3. C複数のコードを選択した状態でTabキーを押す
  4. Dモジュール全体を選択してインデントボタンを押す
正解と解説を見る

正解:C複数のコードを選択した状態でTabキーを押す

複数のコードを選択した状態でTabキーを押すと、まとめてインデントできます。

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

69次のコードを実行しようとしたところ実行できなかった。不足しているものはどれか。「Range("A1").Value = 100」

  1. A行末のセミコロン
  2. Bコードを「Sub プロシージャ名()」と「End Sub」で囲うこと
  3. Cコードの先頭に「Call」と記述すること
  4. Dコード全体をシングルクォーテーションで囲うこと
正解と解説を見る

正解:Bコードを「Sub プロシージャ名()」と「End Sub」で囲うこと

コードを実行するには、「Sub プロシージャ名()」と「End Sub」で囲ってプロシージャにする必要があります。

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

70「ThisWorkbook」モジュールについての正しい説明はどれか。

  1. A各シートに対して1つ作成できるモジュールである
  2. B不要であればプロジェクトエクスプローラーから削除できる
  3. Cブックに対して1つだけ作成できるモジュールである
  4. D標準モジュールの一種である
正解と解説を見る

正解:Cブックに対して1つだけ作成できるモジュールである

ThisWorkbookはブックモジュールであり、ブックに対して1つだけ作成できます。削除はできません。

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

71エクスポートしたモジュールを取り込むためのメニュー項目はどれか。

  1. A[ファイルを開く]
  2. B[ファイルのインポート]
  3. C[モジュールの挿入]
  4. D[ファイルの追加]
正解と解説を見る

正解:B[ファイルのインポート]

エクスポートしたモジュールを取り込むには[ファイルのインポート]をクリックします。

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

72命令するときに使うキーワード(Callなど)のことを何と呼ぶか。

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

正解:Cステートメント

命令するときに使うキーワードのことをステートメントと呼びます。

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

73コードウィンドウの右上にあるアイコンに含まれない操作はどれか。

  1. Aウィンドウの最小化
  2. Bウィンドウを元のサイズに戻す
  3. Cウィンドウの分割
  4. Dウィンドウを閉じる
正解と解説を見る

正解:Cウィンドウの分割

右上のアイコンは「最小化」「元のサイズに戻す」「閉じる」の3つです。

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