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

VBAの開発環境であるVBEの基本的な使い方
最終更新日:2019-10-02

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)
VBA入門者がまず最初につまずくのがこの変数でしょう変数とは数値や文字列など(すなわちデータ)を一時的に格納する入れ物 と良く説明されますがまずはこの考えで良いでしょう。この入れ物にはいろいろなタイプの入れ物があります。まあザルもあればダンボールもあればバケツもあればって事ですね。
このチェックは忘れずに必ずつけておきましょう。

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

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の制御範囲外では中断する指定になります。

初期は、これにチェックが付いています。
コンパイル
順次コンパイル
開始前にプロジェクトを完全にコンパイルするか、必要に応じてコードをコンパイルするかを指定します。
バックグラウンド コンパイル
実行時にアイドル時間を使用して、バックグラウンドでのプロジェクトのコンパイルを完了します。
この設定を変更したり、気にする必要はないでしょう。

ドッキング

VBE VBA オプション

それぞれのウィンドウをドッキング指せるかどうかの指定になります。
ここでチェックの付いているウィンドウはドッキングさせることができます。
一度切り離してしまったウィンドウをドッキングさせる場合の操作には、若干の慣れが必要です。

VBE VBA オプション

ウィンドウの枠がぼわーとした影になるタイミングでマウスクリックを離します。
VBE全体の上下左右の好きな位置に配置できますが、
一般的な初期状態が使いやすいのではないで使用か。
また、境界腺をドラッグすることで、大きさも変えることができます。

VBE VBA オプション

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

「変数の宣言を強制する」には必ずチェックを付けてください。
これ以外は適宜変更して構いませんが、基本的には初期状態のまま使う事をお勧めします。
ただし、
エディタの設定については、本当に個々人の好みになってきます。
目に良いとか格好良いという理由で、黒背景にしている人も多くいるようです。
特にフォントサイズは、画面の解像度とも関係しますので、適宜見やすい大きさに変更してください。



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

VBEの使い方:VBE画面の全体説明
VBEの使い方:ツールのオプション設定
VBEの使い方:ツールバー
VBEの使い方:右クリックメニューとヘルプ
VBEの使い方:ショートカットキーとコード編集
VBEの使い方:イミディエイト ウィンドウ
VBEの使い方:ローカル ウィンドウ
VBEの使い方:ウォッチ ウィンドウ
VBEの使い方:オブジェクト ブラウザー
VBEの使い方:デバッグ


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

VBAクラスのAttributeについて(既定メンバーとFor…Each)|VBA技術解説(10月19日)
VBAの用語について:ステートメントとは|VBA技術解説(10月16日)
VBAのマルチステートメント(複数のステートメントを同じ行に)|VBA技術解説(10月14日)
VBAコードの全プロシージャー・プロパィ一覧を取得|VBAサンプル集(10月12日)
VBAでエラー行位置(行番号)を取得できるErl関数|VBA技術解説(10月11日)
手動計算時の注意点と再計算方法|ExcelマクロVBA技術解説(10月9日)
引数の数を可変にできるパラメーター配列(ParamArray)|VBA入門(10月7日)
VBEの使い方:デバッグ|ExcelマクロVBA入門(10月6日)
VBAにおける配列やコレクションの起点について|VBA技術解説(10月5日)
VBEの使い方:オブジェクト ブラウザー|VBA入門(10月5日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.セルに文字を入れるとは(Range,Value)|VBA入門



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

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


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




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