VBEのオプション設定のお勧めを徹底解説

2019年8月4日VBA全般

Commentary on the recommended settings of VBE

VBAコードはVBE(Visual Basic Editor)を使って記述することになりますが、初期設定のままで使ってませんか。オプション設定を少し変更するだけで使いやすくなりコーディング効率がアップします。hatenaが現在使っているお勧めの設定を紹介します。

オプション設定

VBAウィンドウのメニューの[ツール]-[オプション]をクリックするとオプションウィンドウが開きます。

[編集]タブでの設定

オプション設定の編集ページ

デフォルトから変更するのは下記の2箇所です。

自動構文チェック チェックしない

デフォルトではオンになってます。コード入力中に構文エラーがあると 、すぐにエラーダイアログで出て間違いを指摘してくれます。コードを修正するときに切り貼りすることがよくありますが、そのたびにダイアログがでるのは鬱陶しいです。

オフにしておいても、構文エラーの部分は赤字になるのですぐに分かります。切り貼りや移動が一段落してから赤字の部分を修正すればOKです。

変数宣言の強制 チェックする

デフォルトではオフになっています。オンにすると、モジュールを新規作成した時に、モジュール冒頭に Option Explicit 宣言を自動で挿入してくれます。

Option Explicit が宣言してあると、変数を宣言せずに使用するとコンパイル時にコンパイルエラーがでて指摘されます。変数宣言って何、変数の型って何というレベルの初心者の方はちょっと面倒に感じるかもしれません。その場合は、下記のリンク先を読んでください。

Office TANAKA – 今さら聞けないVBA[Option Explicitって何?]

今は初心者でも、VBAを使い始めて便利さに気づいたら、いろいろな場面で使いたくなります。すぐに、初心者レベルは卒業すると思います。その時の為にも面倒だと思っても変数を宣言することに慣れておきましょう。

初心者を卒業したときに、変数を宣言するとことで下記のようなメリットを享受できます。

  • 変数のスペルミスによるエラーの発生を防ぐ
  • 変数の型違いによるエラーの発生を防ぐ
  • 変数の入力補完が使える
  • 可読性が上がる

モジュール全体を連続表示 通常はチェック

デフォルトではオンになってます。

チェックを外すと、プロシージャ毎の表示になります。プロシージャの前後へ移動するにはPageUp PageDouwnキーで移動するとこになります。長めのプロシージャを集中して編集したいときはチェックを外しておくといいでしょう。通常はオンでいいと思います。

[エディターの設定]タブ

オプション設定のエディターの設定タブ

コードの表示色

ここで背景、コード、キーワードなどの前景色,背景色を設定できます。

これは好みが大きいので、もし、標準での配色が見にくいと思うなら、お好みに変更されるといいでしょう。
標準では白背景ですが、例えば下記のリンク先は背景色を黒、コードの色を黄色にしてます。
【エクセルVBA】VBEの背景色や文字色を変更して画面を見やすくしよう

hatenaは標準に慣れているのでそのままです。最近、下記のように変更しました。

  • 標準コード 紫
  • キーワード 明るい青

下の画像は変更前のデフォルトの配色です。デフォルトだとキーワードは濃い青なので黒と見分けが付きにくく、また、標準コードは黒なので見分けがつきませんでしたが、上記設定で明るい感じで見分けも付きやすくなったと思います。

フォント名

デフォルトでは MS ゴシック になっています。hatenaもつい最近まではなんの疑問も持たずにこの設定のまま使ってました。一年ぐらい前、プログラミング用フォントというものがあるというの知りました。

で試しにインストールしてみて、このフォント名をインストールしたものに変えたらコードの読みやすさが格段にアップしました。

フォントの見た目の比較

上が標準の MS ゴシック、下がプログラミング用フォントの Myrica です。WEBブラウザで見ると意外と差がないですが(ブラウザのアンチエイリアスが効いているので)、実際のエディターでは斜め線とか曲線部分がもっとギザギザで汚いです。

フォントの拡大画像

画像の一部を拡大したので比べるとギザギザの有無がはっきり分かります。

あと、フォント高も Myrica の方が少し低いので行間がいい具合に広がるのでそれも読みやすさにつながっていると思います。

間違いやすい文字のフォント比較

上の図は間違いやすい文字の比較です。大文字のO(オー)と数字の0(ゼロ)、数字の1(イチ)と大文字のI(アイ)と小文字のl(エル)ですが、MS ゴシックは見分けにくいですが、Myricaならはっきりと見わけかつきます。他にも、濁点と半濁点の違いも分かり安くなってます。

Myricaに変えてから目の疲れがはっきりと軽減されました。

上記のページからMyrica.ttc または MyricaM.ttc のZIP圧縮版をダウンロードします。解凍してできるフォルダーの中の TTCファイルを右クリックして[インストール]をクリックするとインストールできます。

インストールすると フォント名のドロップダウンに Myrica で始まるフォントがたくさん出てきますので、その中の Myrica MonoSpace(日本語)を選択します。

プログラミング用フォントはMyrica以外にもいろいろあります。 「プログラミング用フォント」でWEB検索すればいろいろでてきます。hatenaもいくつか試してみてMyricaが気に入りましたが、興味かあればいろいろ試してみるといいでしょう。

複数行コメントアウトをショートカットキーでできるようにする

コメントアウトとは、ある処理のコードをコメントブロックにすることで一時的に実行されないようにすることです。開発中に、別のコードを試したいときなどに多用します。これがキー操作だけで簡単にできると楽になります。方法は前のブログで紹介してますので下記を参考にしてください。

VBA開発環境をモダンにするアドオン

ここからは上級者向けのマニアックな内容になりますので、初心者、初級者の方はスルーしてください。

コーディングにおいて、インデント(字下げ)の重要性は中級以上のプログラマーなら十分認識されていると思います。VBEにも自動インデントという機能は一応ありますが、改行したら前行と同じ位置に字下げしてくれるだけのものです。If やら For やら With やらが複雑にネストしている場合、きれいにインデントするのは結構面倒です。

hatenaは技術系の掲示板を徘徊するという病気持ちでありますが、質問のコードはインデントされてなかったり、知恵袋のなどはそもそもインデントが削除されてしまうこともあり、コードが非常に読みづらくなっています。

そのようなコードを一発できれいにインデントしてくれる Smart Indenter というアドオンを紹介したことがあります。

Officeを2019にアップグレードしたときにこのアドインを導入しようとしたらリンク切れになっていました。現時点(2020/9/01)ではリンク復活しているようです。

自動インデントの機能があるアドオンは他に Rubberduck というのがあります。これは現在でも開発が続けられており、今調べてみたら、現時点(2018/08/03)での最新版は 2019-08-02にリリースされています。

実はこのアドイン、自動インデントはおまけで、他にもプロのプログラマーには必須の便利な機能が満載です。

インストールは上記のページの[ダウンロード]ボタンをクリックするとファイルのリンクがあるページに跳ぶのでダウンロードして実行します。VBAウィンドウのメニューから[アドイン]-[アドイン マネージャ] に Rubberduck が表示されていたらインストール成功です。

インデントしたいプロシージャ上で右クリックして [RubberDucks]-[Indent]-[Current Procedure]できれいにインデントしてくれます。あるいは、ショートカットキー Ctrl + P でもOKです。

他にもいろいろ機能がありますが、それに関しては下記を参考にしてください。

まとめ

今回は、hatenaが実際に使用しているVBEの設定を紹介しました。これでコーディングの効率がアップして、疲労度を軽減できると思います。

Rubberduck は中級以上になったときに、思い出したら試してみるといいでしょう。