VBE(Visual Basic Editor)の構造について

<< マクロとVBAの関係 :前の記事

前回は、マクロVBAの関係について解説しました。今回はVBAのコードを記述するために必要なVBE(Visual Basic Editor)について解説しています。VBEには様々な機能がありますが、はじめから全てを覚える必要はありません。プログラミングをこなすことで徐々にそれぞれの機能について理解していきますので、最低限必要な機能だけをまずは覚えましょう。

目次

VBE(Visual Basic Editor)とは

VBE(Visual Basic Editor)はVBAでコードを記述するために必要なソフトウェアです。マクロの編集はすべてVBEで行います。

VBEを起動させるにはAlt+F11を押下します。「ツール」→「マクロ」→「Visual Basic Editor」でも起動できますのが、効率化を図るためになるべくショートカットを利用しましょう。

他にも、Alt+F11の押下を繰り返すとEXCEL←→VBEの画面を切り替えることができますので、こちらも覚えておきましょう。

VBEの起動

また、VBEの画面は主に以下の3つに分類されます。

VBEの構造

プロジェクトエクスプローラ

エクセルVBAのVBE画面の左上に位置するウィンドウでプロジェクトエクスプローラと言います。1つのワークブックを1プロジェクトとして、そのプロジェクト内のオブジェクト一覧を表示します。

プロジェクトエクスプローラには、以下の5つのオブジェクトがツリー上に表示されます。それぞれに役割がありますが、一般的にVBAのコードを記述する場合は、標準モジュールオブジェクトに記述するということを覚えておきましょう。

VBEのプロジェクトエクスプローラ

プロパティウィンドウ

エクセルVBAのVBE画面の左下に位置するウィンドウでプロパティウィンドウと言います。プロジェクトエクスプローラでオブジェクトを選択すると、そのオブジェクトに関するプロパティを表示します。また、そのプロパティを編集することもできます。

コードウィンドウ

エクセルVBAのVBE画面の右側に位置するウィンドウでコードウィンドウと言います。こちらにVBAのコードを記述していきます。複数のマクロを記述する場合は、マクロとマクロの間に区分線が引かれます。

また、画面は以下のように構成されています。「オブジェクト」「イベント」「プロシージャ」「ブレークポイント」については後ほど詳しく解説しますので、ここでは、コードウィンドウがどのように構成されているかだけ覚えましょう。

VBEのコードウィンドウ
項目説明
オブジェクトボックス現在選択しているオブジェクトに関連づけられているオブジェクトを表示します。
プロシージャボックス現在選択しているオブジェクトに関連づけられているイベントおよびプロシージャを表示します。
インジケータバークリックすることでブレークポイントの設定・解除ができます。

VBEに用意されているウィンドウ

エクセルVBAのVBEには、他にも以下のようなウィンドウが用意されています。それぞれ詳細については後ほど詳しく解説しますので、このようなウィンドウが用意されていることを覚えましょう。

ウィンドウ名用途内容
プロジェクトエクスプローラモジュールの管理ブックにまとめられたプロジェクトやオブジェクトのモジュールを管理するウィンドウ
プロパティウィンドウプロパティの設定選択しているプロパティを設定するウィンドウ
コードウィンドウコードの記述標準モジュールなどにVBAのコードを記述ウィンドウ
ユーザーフォームウィンドウユーザーフォームの作成ユーザーフォームにコントロールを配置するウィンドウ
イミディエイトウィンドウバグのチェックとデバッグVBAのコードを簡単に実行するときに使用するウィンドウ。Debugオブジェクトを利用してあらかじめ指定した変数などの値を確認することもできます
ローカルウィンドウバグのチェックとデバッグ実行中のプロシージャで使用しているすべての変数の値を確認するウィンドウ
ウォッチウィンドウバグのチェックとデバッグユーザー自身が指定したオブジェクトや変数、式の値をプロシージャ実行中に確認するウィンドウ
オブジェクトブラウザオブジェクトの検索オブジェクトのプロパティ、メソッドなどを検索するためのウィンドウ

モジュールの種類

実際にマクロを記述する際には、一般的に標準モジュールオブジェクトに記述すると説明しましたが、モジュールとはマクロを保存しておくための単位のことです。
マクロを書くときの「」がVBEであれば、マクロを書く「」がモジュールの役割になります。モジュールにもいくつか種類がありますので、覚えましょう。

シートモジュール

シートモジュールには、ワークシートのイベントを記述する際に利用するモジュールです。

ブックモジュール

ブックモジュールには、ワークブックのイベントを記述する際に利用するモジュールです。

標準モジュール

標準モジュールには、マクロ記録機能を利用した際に記録されるモジュールです。基本的には直接入力してマクロを記述する際も標準モジュールを利用します。

クラスモジュール

クラスモジュールは、オブジェクト指向型の言語の特徴の1つであるクラスを作成するモジュールです。クラスとは、よく設計図のようなものと説明されますが「オブジェクトの定義」のことを指します。

オブジェクトにはオブジェクトの属性を表すプロパティ、動作を表すメソッド、オブジェクトに対する操作に応じて発生するイベントがあります。このようなオブジェクトの機能はすべて「オブジェクトの定義」としてクラスにまとめられています。

クラスはオブジェクトの定義をまとめた「オブジェクトの設計図」ですので、クラス自身に実態はありません。クラスを利用するには実態にあるオブジェクトとして扱うために複製する必要があります。このクラスの複製をインスタンスと言います。

こちらを理解するにはまったく説明が足りませんが、クラスモジュールというものがあることは頭の片隅にでも入れて置いてください。

フォームモジュール

フォームモジュールは、ユーザーフォームの操作を記述するためのモジュールです。ユーザーフォームは、エンドユーザーが操作しやすいように作業するための画面のことを指します。入力画面を設けることは、入力ミスやイレギュラーを防止するためにとても有効な方法です。また、エンドユーザーにとっても使いやすい画面は作業の効率化にもなります。

VBEで使用できるショートカットキー一覧

VBEでは様々なショートカットが用意されています。ショートカットは作業効率がグンと上がりますので、是非覚えましょう。

入力・編集関連

ショートカットキー内容
「Tab」インデントを挿入する
「Shift」+「Tab」インデントを戻す
「Ctrl」+「Space」入力候補を表示する
「Ctrl」+「I」クイックヒント・パラメータヒントを表示する
「Ctrl」+「Shift」+「I」ショートカットメニューを表示する
「Ctrl」+「J」プロパティ・メソッドを表示する
「Ctrl」+「Shift」+「J」定数の一覧を表示する
「Shift」+「F9」クイックウォッチを表示する
「F2」オブジェクトブラウザを表示する
「Ctrl」+「C」コピーする
「Ctrl」+「V」貼り付けをする
「Ctrl」+「F」検索をする
「Shift」+「F4」次を検索する
「Ctrl」+「H」置換をする
「Ctrl」+「Z」前の処理を元に戻す
「Ctrl」+「A」すべて選択する
「Ctrl」+「Y」カーソルがある行を行単位で削除する
「Ctrl」+「Delete」カーソル位置から単語単位で削除する

カーソル移動関連

ショートカットキー内容
「Home」行頭へカーソルを移動する
「Ctrl」+「Home」モジュールの先頭へカーソルを移動する
「End」行末へカーソルを移動する
「Ctrl」+「End」モジュールの末尾へカーソルを移動する
「PageUp」1画面分上へ移動する
「PageDown」1画面分下へ移動する
「Ctrl」+「↑」前のプロシージャを選択する
「Ctrl」+「PageUp」前のプロシージャを選択する
「Ctrl」+「↓」次のプロシージャを選択する
「Ctrl」+「PageDown」次のプロシージャを選択する
「Ctrl」+「→」右の単語の末尾へカーソルを移動する
「Ctrl」+「←」左の単語の先頭へカーソルを移動する

ウィンドウ関連

ショートカットキー内容
「Ctrl」+「R」プロジェクトエクスプローラを表示する
「F4」プロパティウィンドウを表示する
「F7」コードウィンドウを表示する
「Ctrl」+「G」イミディエイトウィンドウを表示する

デバッグ関連

ショートカットキー内容
「F8」ステップイン
「Shift」+「F8」ステップオーバー
「Ctrl」+「Shift」+「F8」ステップアウト
「Ctrl」+「F8」カーソルの前まで実行する
「F9」ブレークポイントを設定・解除する
「Ctrl」+「Shift」すべてのブレークポイントを解除する
「F5」Subプロシージャ及びユーザーフォームを実行する
「Ctrl」+「Break」処理を中断する

その他

ショートカットキー内容
「Ctrl」+「S」上書き保存する
「Ctrl」+「P」印刷する
「Ctrl」+「M」ファイルをインポートする
「Ctrl」+「E」ファイルをエクスポートする
「Ctrl」+「F11」Excel・VBEを交互に表示する

まとめ

こちらでは、エクセルVBAのVBE(Visual Basic Editor)について解説しました。色々なキーワードがでてきましたが、それぞれに役割や意味があるので、その都度理解していけばよいかと思います。次回は実際にマクロに触れていきますのでお楽しみに!

次の記事: マクロの記録と実行 >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。