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の画面は主に以下の3つに分類されます。
- プロジェクトエクスプローラ
- プロパティウィンドウ
- コードウィンドウ
プロジェクトエクスプローラ
エクセルVBAのVBE画面の左上に位置するウィンドウでプロジェクトエクスプローラと言います。1つのワークブックを1プロジェクトとして、そのプロジェクト内のオブジェクト一覧を表示します。
プロジェクトエクスプローラには、以下の5つのオブジェクトがツリー上に表示されます。それぞれに役割がありますが、一般的にVBAのコードを記述する場合は、標準モジュールオブジェクトに記述するということを覚えておきましょう。
- シートオブジェクト
- ブックオブジェクト
- フォームオブジェクト
- 標準モジュールオブジェクト
- クラスモジュールオブジェクト
プロパティウィンドウ
エクセルVBAのVBE画面の左下に位置するウィンドウでプロパティウィンドウと言います。プロジェクトエクスプローラでオブジェクトを選択すると、そのオブジェクトに関するプロパティを表示します。また、そのプロパティを編集することもできます。
コードウィンドウ
エクセルVBAのVBE画面の右側に位置するウィンドウでコードウィンドウと言います。こちらにVBAのコードを記述していきます。複数のマクロを記述する場合は、マクロとマクロの間に区分線が引かれます。
また、画面は以下のように構成されています。「オブジェクト」「イベント」「プロシージャ」「ブレークポイント」については後ほど詳しく解説しますので、ここでは、コードウィンドウがどのように構成されているかだけ覚えましょう。
項目 | 説明 |
---|---|
オブジェクトボックス | 現在選択しているオブジェクトに関連づけられているオブジェクトを表示します。 |
プロシージャボックス | 現在選択しているオブジェクトに関連づけられているイベントおよびプロシージャを表示します。 |
インジケータバー | クリックすることでブレークポイントの設定・解除ができます。 |
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)について解説しました。色々なキーワードがでてきましたが、それぞれに役割や意味があるので、その都度理解していけばよいかと思います。次回は実際にマクロに触れていきますのでお楽しみに!
次の記事: マクロの記録と実行 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。