VBA入門
VBEの使い方:ツールのオプション設定

VBAの開発環境であるVBEの基本的な使い方
公開日:2019-09-28 最終更新日:2022-09-18

VBEの使い方:ツールのオプション設定


VBE(Visual Basic Editor)はVBAで使われるコードエディタ、コンパイラ、デバッガ、その他の開発支援ツールが統合された開発環境です。


ここではVBEの環境設定となる、ツールのオプション設定について説明します。


「メニュー」→「ツール」→「オプション」

VBE VBA オプション

VBE VBA オプション

それぞれのタブについて順番に説明します。

編集
エディタの設定
全般
ドッキング

ステートメントという言葉の意味するところ
以下では、説明の都合上、ステートメントという言葉を二つの意味で使っています。
一つには、
Ifステートメント、Forステートメント等々、VBAの基本ステートメントの単語そのもの。
もう一つは、
通常改行する単位の1行全体で「For i = 1 To 10」この1行全体を指している場合。

VBAの説明ではこれらは区別して使われず、どちらもステートメントとして説明されます。
適宜、文章の流れから読み分けてください。


編集

VBE VBA オプション

コードの設定

自動構文チェック
VBAソース記述過程で、
1ステートメント確定時(Enterやカレント行をずらした時)に、都度文法チェックを行うかどうかの指定です。

チェックを付けておくと、確定されたそのステートメントを都度チェックを行い、
構文エラー(赤字エラー)があると、警告メッセージが表示されます。

VBE VBA オプション

赤字でエラーであることはわかるので、いちいちOKを選択することが面倒と感じる人の方が多いでしょう。
古いエクセルのバージョンでは初期でチェックが付いていましたが、
最近のバージョンでは初期でチェックが外れています。

このチェックは外しておくことをお勧めします。

変数の宣言を強制する
チェックを付けておくことで、
新規にモジュール作成時に、自動的にモジュールの先頭に、
Option Explicit
これが挿入されるようになります。

初期ではチェックが付いていません。
しかし、VBAでは変数宣言は強制しましょう。
第12回.変数とデータ型(Dim)
・データ型 ・変数の使い方 ・変数名の規則 ・良く使われる変数名 ・自動型変換、暗黙の型変換 ・変数宣言の必要性 ・Dim変数宣言のまとめ
このチェックは忘れずに必ずつけておきましょう。

自動メンバー表示
チェックを付けておくことで、
オブジェクトに続けて.(ビリオド)を入力した時に、
オブジェクトのメンバーが入力候補として表示されます。

VBE VBA オプション

プロパティの設定値が列挙値の場合にも表示されます。

VBE VBA オプション

自動クイック ヒント
チェックを付けておくことで、
オブジェクトのプロパティやメソッドそして関数の入力時に、
どのような引数になっているかのヒントが表示されます。

VBE VBA オプション

VBE VBA オプション

自動データ ヒント
チェックを付けておくことで、
VBAをステップ実行(F8)やデバッグ等で一時停止しているとき、
マウスポインタを、変数やプロパティに合わせる(その上で停止させる)事で、
その中身の値をヒント表示されます。

VBE VBA オプション

自動インデント(字下げ)
チェックを付けておくことで、
直前の行の先頭と同じ位置まで自動でインデント(字下げ)されるようになります。

VBE VBA オプション

チェックが付いていないと、インデントされずに常に先頭になってしまいます。

VBE VBA オプション

タブ間隔
タブ(Tab)キーでインデントされる間隔を文字数で指定します。
初期は4となっています。
たまに2で使っている人もいるようですが、初期の4が良いと思います。


ウィンドウの設定

テキスト エディターでのドラッグアントドロップ
チェックを付けておくことで、
VBAコードの選択部分をドラッグ アンド ドロップで移動できるようになります。

VBE VBA オプション

実際には、
イミディエイト ウィンドウや、ウォッチ ウィンドウへのドラッグで使用します。

モジュール全体を連続表示
チェックを付けておくことで、
モジュール内の全てのプロシージャーが連続で表示されるようになります。

VBE VBA オプション

このチォェックを外すと、選択しているプロシージャーのみが表示されるようになります。

VBE VBA オプション

VBEの左下のアイコンで、この切り替えはできます。

VBE VBA オプション

VBE VBA オプション

プロシージャの区分線
チェックを付けておくことで、
モジュール全体を連続表示した場合に、プロシージャー間に区分線が表示されます。

VBE VBA オプション


エディターの設定

VBE VBA オプション

コードの表示色

VBAを記述するエディタ部分の体裁を設定できます。
前景は、文字色です。
背景は、文字の背景です。
インジケーターは、コードの左の縦のグレー部分です。下の画像では右矢印部分

マクロ VBA サンプル画像
VBE VBA オプション

標準コード
これ以降で設定できるコード以外のすべてになります。
コードの無い行の背景もここでの指定になります。

選択された文字
言葉通りに選択された文字です。

VBE VBA オプション

構文エラー
構文エラー、つまり、文法的に書き方としてエラーがある場合です。

VBE VBA オプション

次のステートメント
VBAをステップ実行(F8)やデバッグ等で一時停止しているとき、
次に実行されるステートメントです。

VBE VBA オプション

上図の黄色背景になります。
このステートメントはまだ実行されておらず、次に(F8等で進めた時に)実行されます。

プレークポイント
VBAの実行を一時的に中断することができるブレークポイントを設定(F9)しているステートメントです。

VBE VBA オプション

コメント
'(シングルクォーテーション)から始まるコメントです。

VBE VBA オプション

キーワード
VBAに用意されているステートメント等の予約語になります。
下図で、分かりやすいようにピンク背景にした部分になります。
(もちろん、こんな色の設定をする人はいません)

VBE VBA オプション

識別子
変数、定数、プロシージャー、プロパティ、メソッドになります。
下図で、分かりやすいようにピンク背景にした部分になります。
(もちろん、こんな色の設定をする人はいません)

VBE VBA オプション

ブックマーク
ブッマークを設定したステートメントです。

VBE VBA オプション

VBE VBA オプション

この設定は、インジケーターに対してのみ有効です。

ブックマークの詳しい使い方については、後に説明します。

呼び出し元
FunctionやSubプロシージャーが他のプロシージャーから呼ばれている場合、
その呼び出し元のプロシージャーの呼び出しているステートメント行のインジケーター表示になります。

下図の、sample1を実行した時、

VBE VBA オプション

VBE VBA オプション

VBE VBA オプション

VBE VBA オプション

インジケーターの緑の右三角のステートメントになります。
この設定は、インジケーターに対してのみ有効です。

フォント、サイズ

VBAコードのフォントとサイズを指定します。

インジケーターバー

VBAコードの左側グレーの余白部分になります。

VBE VBA オプション


全般

VBE VBA オプション

グリッドの設定

ユーザーフォームのグリッド(点々)表示です。

VBE VBA オプション

このグリッドの間隔(はば、高さ)と、
コントロールをドラッグで配置した時に、グリッドに合わせるかどうかの指定になります。

ツールヒントの表示

ツールバーのアイコンにマウスポインターを置いたときにツールヒントを表示するかの指定です。

VBE VBA オプション

編集後の継続:状態の破棄を通知

モジュールレベル変数は、
Endステートメントや「デバッグ」で終了しない限り、値を保持しています。

しかし、そもそもモジュールレベル変数の記述を変更をした場合は、
変数が変更になるので、保持していた値は破棄されます。
このような編集によりモジュールレベル変数の値が破棄される場合に通知するかどうかの指定になります。

VBE VBA オプション

「状態の破棄を通知」にチェックをしていた場合、
上記のsample1を実行した後に、
Public Hoge, Fuga
このように編集すると、以下のメッセージが表示されます。

VBE VBA オプション

ただし、マクロVBAの実行中に、
使用中の変数を変更するような編集を行った場合は、常にメッセージが表示されます。

エラートラップ

エラー発生時に中断
On Errorにかかわらず、エラー発生時に中断します。
全てのモジュールが対象になります。

デバッグをしていると、
On Errorがあるために、本来のエラー発生個所の特定に窮する場合が出てきます。
そのような場合に、ここにチェックを付けることで、
On Errorにかかわらず、エラー発生箇所で中断させることができます。

クラス モジュールで中断
ハンドルされない(On Errorがない)エラーがクラス モジュールで発生すると、エラーが発生したコード行でプロジェクトがブレーク モードに入ります。

エラー処理対象外のエラーで中断
エラー処理対象外とは、
具体的にはOn Error対象外という事です。

エラー発生時、
On Errorの制御範囲であればそれに従い、
On Errorの制御範囲外では中断する指定になります。

初期は、これにチェックが付いています。

コンパイル

順次コンパイル
開始前にプロジェクトを完全にコンパイルするか、必要に応じてコードをコンパイルするかを指定します。
チェックをはずした場合、マクロを実行する前に「VBAProjectのコンパイル」が実行されます。

バックグラウンド コンパイル
実行時にアイドル時間を使用して、バックグラウンドでのプロジェクトのコンパイルを完了します。

この設定を変更したり、気にする必要はないでしょう。


ドッキング

VBE VBA オプション

それぞれのウィンドウを外枠にドッキングさせるかどうかの指定になります。
ここでチェックの付いているウィンドウはドッキングさせることができます。
ウィンドウのタイトル部分の右クリックでもドッキングを外すことは出来ます。
VBE VBA オプション

一度切り離してしまったウィンドウを手動でドッキングさせる場合の操作には、若干の慣れが必要です。
VBE VBA オプション

ウィンドウの枠がぼわーとした影になるタイミングでマウスクリックを離します。

タイトル部分をタブルクリックすることで、ドッキング状態とフローティング状態を切り替えられます。
VBE VBA オプション

VBE全体の上下左右の好きな位置に配置できますが、一般的な初期状態が使いやすいのではないでしょうか。

また、境界腺をドラッグすることで、大きさも変えることができます。

VBE VBA オプション


ツールのオプション設定の最後に

「変数の宣言を強制する」には必ずチェックを付けてください。

これ以外は適宜変更して構いませんが、基本的には初期状態のまま使う事をお勧めします。

ただしエディタの設定については、本当に個々人の好みになってきます。
目に良いとか格好良いという理由で、黒背景にしている人も多くいるようです。
特にフォントサイズは、画面の解像度とも関係しますので、適宜見やすい大きさに変更してください。




同じテーマ「マクロVBA入門」の記事

VBEの使い方:VBE画面の全体説明

・メニュー ・プロジェクト ・プロパティ ・その他のウィンドウ ・VBE画面の全体説明の最後に
VBEの使い方:ツールのオプション設定
VBEの使い方:ツールバー
・ツールバーの表示方法 ・デバッグ ・ユーザーフォーム ・標準 ・編集 ・ユーザー設定 ・ツールバーの最後に
VBEの使い方:右クリックメニューとヘルプ
・右クリックメニュー ・(F1) ・右クリックメニューとヘルプの最後に
VBEの使い方:ショートカットキーとコード編集
・VBEショートカット一覧 ・ショートカットキーの具体的な使い方 ・コメントアウト ・ショートカットとコード編集の最後に
VBEの使い方:イミディエイト ウィンドウ
・イミディエイト ウィンドウの表示 ・イミディエイト ウィンドウの基本的な使い方 ・イミディエイト ウィンドウの高度な使い方 ・イミディエイト ウィンドウの最後に
VBEの使い方:ローカル ウィンドウ
・ローカル ウィンドウの表示 ・ローカル ウィンドウの基本的な使い方 ・ローカル ウィンドウの制限 ・ローカル ウィンドウの最後に
VBEの使い方:ウォッチ ウィンドウ
・ウォッチ ウィンドウの表示 ・ウォッチ ウィンドウとは ・「ウォッチ式の追加」の操作手順 ・ウォッチ式の追加 ・ウォッチ ウィンドウの制限と注意 ・ウォッチ ウィンドウの最後に
VBEの使い方:オブジェクト ブラウザー
・オブジェクトブラウザーの表示 ・オブジェクトブラウザーの使い方 ・クラスおよびメンバーの見方 ・オブジェクトブラウザーの最後に
VBEの使い方:デバッグ
・実行、中断、リセット(停止) ・ステップ実行 ・呼び出し履歴 ・VBA実行途中で変数の状態を確認 ・Debug.Print ・Debug.Assert ・デバッグの最後に


新着記事NEW ・・・新着記事一覧を見る

VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ