Excelマクロを作るとき、コードを書く画面のことをVBEと呼びます。
EはEditorのEで、そのままエディタってことですね。
このVBEはいろいろと設定を変えることができ、
こんな風に背景色を黒にしたりもできます。
- Excelが白/VBAが黒で、ウィンドウの見分けがつきやすい
- 注視しがちなコード画面の光量が減って、目が疲れづらい
- 眠い時に目を閉じても、画面が黒いと熟考中っぽい
あたりがとても便利ですね。
また、VBEの初期フォントは「MS ゴシック」なのですが、
昔は主流だったこのフォントも、今は大分見かけなくなって見づらいです。
これも好きなフォントに変えてしまいましょう。
変更するのは簡単で、
と、「ツール → オプション → エディターの設定タブ」をいじるだけです。
フォントの設定
まずは簡単なフォントですが、これは好きなものにしてください。
Excelで「ファイル → オプション → 全般タブ」にある、
この設定で「ワークシートの初期フォント」をいじれますので、
これと全く一緒にするのがおススメです。
背景色・文字色(シンタックスハイライト)
背景色と文字色の設定ですが、
If Cells(R, C) >= 1000 Then
↑このようにVBEには、コードの種類によって文字を色分けする機能がついています。
これをシンタックスハイライトと呼びます。
エディターの設定を見ると↓
「コードの表示色」欄にハイライトできるコード種類がいろいろあって大変そうですが、背景色を変えるときにいじるのは、とりあえず↓だけでOKです。
コードの種類 | 意味 | 前景色(例) |
---|---|---|
標準コード | ベタ打ちの数字や文字 | 黄 |
構文エラーの文字 | 書きかけのコードや構文エラー | ピンク |
コメント | ' コメント | 黄緑 |
キーワード | Sub、Dim、If、Thenなどの構文 | 水色 |
識別子 | 関数や変数のこと(備え付け・自作どちらも) | 白 |
これらの背景色はすべて同じするべきなので、全部黒でいいでしょう。
背景色を黒、文字色(前景色)を着色例にすると、こんな感じになります↓
注意点として「標準コード」というのがありますが、
コード内はほとんどが「変数や関数」で書かれるため、
どちらかというと「識別子」の方が標準の色になると思ってください。
なので、これを白にするのが良いでしょう。
あとは、構文系は青になっている言語が多いので、キーワードは青か水色
エラー時の色は、エラーが出たときに見ることはあまりなく、
サンプルのような書きかけコードの色としてよく見ることになるので、
赤よりは控えめにピンクにするのがいいかなと思います。
好みが出るのはコメントですね。
コメントの使い方は主に2種類あり、
' 条件をクリアしたデータの処理 If Cells(R, C) >= 1000 Then Cells(R, C + 1) = "処理済"
If Cells(R, C) >= 1000 Then ' この条件は年ごとに見直し Cells(R, C + 1) = "処理済"
と、「ブロックの見出し」的な使い方と、「コードの注釈」的な使い方があります。
- 前者の「見出し」なら目立つ明るい色(黄緑)
- 後者の「注釈」なら目立たない色(濃いグレー)
あたりがおすすめなので、自分で書くコメントがどっちが多いかで決めるといいです。
私はほとんどのコメントが「ブロック見出し」なので黄緑にしています。
こんな感じでコード画面の色を自分の好みにカスタマイズしておくと、
少しですが確実にコーディングがやりやすくなります。
好みのセッティングを試してみてください。
余談ですが、
Function テスト関数(ByVal 引数 As Long) As Long ' 条件をクリアしたデータの処理 If Cells(R, C) >= 1000 Then Cells(R, C + 1) = "処理済" Cells(R, C + 2) = ""
↑このように、本ブログのコードは↑のおすすめ配色と同じ色になるように、
頑張って設定しました(`・ω・´)b
Twitterを見ていると、おそらくこの設定がマジョリティっぽいので、
みなさんのVBEと似た配色になって、読みやすくなっていると嬉しいです。
おまけ:標準コードのハイライトの活用法
標準コードの色は、識別子の色と合わせて白にしてもいいのですが、
これも別色(例では黄色)でハイライトしておきましょう。
例えば、
If Cells(R, C) >= 1000 Then ' この条件は年ごとに見直し Cells(R, C + 1) = "処理済"
↑こういうコードで、年ごとにこの部分を探して書き換える目印になります。
ロジックは変えずに設定値だけ変更する場合は、
黄色い部分だけを書き換えていけばいいわけですからね。
さらにもう少し工夫すると、
「年ごとの改修ですべてのコードの中身を見て回る」のは大変なので、
' 各種定数(モジュールの最上部に置いておく) Public Const 処理済条件 = 1000 Public Const 完了表示 = "処理済" ~~~~~ ' マクロ内では値をべた書きせずに、定数を使ったコードにする If Cells(R, C) >= 処理済条件 Then Cells(R, C + 1) = 完了表示
↑こんな風に、変更の可能性がある値を定数にしておくと便利です。
このコードを見てわかるように、しっかりと定数化ができたコードは、メインコードは真っ白になります。
メインコードが白いコードであるほどメンテナンス性のいいコードという、
一種のバロメータだと思ってもいいかもしれません。
コード中にたくさん出てくる「1000」を全部書き換えて回った経験をお持ちの方は、こんな使い方があるんだな~と知っておくといつか役に立つと思います。
心の片隅にでも、おいておいてください。