2024年1月8日VBAでコードを書くのはわかったけど、なんかダサいこのまま書き始めて大丈夫なの?VBEはVBAを記述する場所ですが、デフォルト(初期)の設定では少しやりづらく、なんかダサいです。以下の設定を最初に行うことをおすすめしています。自動構文チェックを外す変数宣言の強制エラートラップの場所VBEの暗転(色を変える)この記事では、VBAを書き始める前に行うべき設定4選について解説しています。これからVBAを勉強していく人、書こうとしている人には必見の内容になっています!「そもそもVBEがよく分からない」「VBAってどこに書くの?」という人は以下の記事で解説していますので、参考にしてみてください。Personalの利用がおすすめです。自動構文チェックを外す1つ目は「自動構文チェック」を外す設定です。これは、コードを1行書いたときにそのコードの構文(文法)的に正しいかを瞬時に判断する機能です。一見すると便利な機能ですが、「ちょっと手を放したい」「別の場所を直したい」など、複数の作業を同時にこなす際にいちいちポップアップが出てきて煩わしいです。チェックを外して構文チェックをされないようにしておきます。初心者のうちはつけたままでも構いません。自動構文チェックは「どこの行の・何が・どうすればいいのか」くらいまで教えてくれるので便利です。VBAに慣れてきたらチェックを外しましょう。変数宣言の強制2つ目は変数宣言の強制です。VBAは、変数を宣言しなくても使用できます。変数宣言:この文字は「変数」で「文字列型」のように宣言すること。「Public・Private・Dim」が宣言用のステートメント。Explicitという文が付与されます。この文が変数宣言を強制している部分です。Explicitをつけましょう」と教えている教材などがありますが、それには変数を強制的に宣言させるという意味があるからです。変数を宣言しないと、変数を好き勝手使っていいことになってしまいます。開発中だけでなく、後からメンテナンスをする際にも変数がどんな役割を担っているのかが分からなくなってしまいます。「この変数は文字だけ格納できる」「この変数には数字のみ入れられる」といったように、適切に分けてあげる必要があります。宣言していない変数を使用すると以下のようなエラーが出ます。この設定をすることで、宣言し忘れを防止することが出来ます。変数・定数はプログラミングをする以上、切っても切り離せません。汚いコードにしないためにも、この設定は必ず行いましょう。変数・定数に関しては以下の記事をご覧ください。定数とは、ある値を入れるための専用の箱のことです。「値を...エラートラップの場所3つ目はエラートラップの場所の設定です。プログラミングにエラーはつきもので、最初から最後までエラーを吐き出さずにコーディングを行うことは不可能です。エラーがある場合はどこで起きているかを検知する必要があります。この設定で、どういうときにエラーで中断させるかを設定します。設定の開き方VBEを開く「ツール」タブから「オプション」をクリック「全般」タブの「エラートラップ」欄この設定は3パターン設定可能で、エラー発生時に中断クラスモジュールで中断エラー処理対象外のエラーで中断があります。それぞれ順番に解説していきます。その前に、エラーの位置を把握するためにもサンプルコードを用意してみましょう。標準モジュールを追加し、以下のコードをコピペしてください。Sub次に、クラスモジュールを追加し、モジュールの名前を「SAMPLE_CLASS」に変更して、以下のコードをコピペしてください。※モジュールの名前変更は「プロパティウィンドウ(初期状態であれば左下のウィンドウ)」で変更可能です。無ければ「表示」タブから表示させてください。Subエラー発生時に中断この設定は、問答無用でエラーが起きた時に中断します。この設定のまま、標準モジュールの「test」を実行してみましょう。※「test」のコード内を選択し、「F5」を押すと実行できます。すると、「型が一致しません」というエラーメッセージが表示されるので、「デバッグ」をクリックします。画像の通り、yearに代入するところで中断します。GoToも無視されます。基本的には、この設定にしておいた方が便利です。クラスモジュールで中断この設定はクラスモジュールのエラーを検知し中断します。設定を変更したら、再度、標準モジュールの「test」を実行してみましょう。すると、再び「型が一致しません」というエラーメッセージが表示されるので、「デバッグ」をクリックします。今度は、クラスモジュール内で中断しました。GoTo)はそのまま動作し、クラスモジュールに移動した後のエラーを検知し、中断してくれます。クラスモジュールは単品では使用できません。インスタンス化という作業を行って初めて効果を発揮します。SAMPLE_CLASSという部分です。別のモジュールで定義し、別のモジュールで呼び出してあげるのが基本の使い方です。Error系)は中断してほしくないけど、クラスモジュールなどできちんと止めてほしい人はこの設定が良いでしょう。エラー処理対象外のエラーで中断この設定は、エラーに対する処理はそのまま動作+クラスモジュールの場合は呼び出し元で中断します。設定を変更したら、再度、標準モジュールの「test」を実行してみましょう。すると、またまた「型が一致しません」というエラーメッセージが表示されるので、「デバッグ」をクリックします。今度は、エラートラップ先(WELCOME_ERROR)で、呼び出したクラスモジュールの処理の部分で中断しました。このように、エラーに対する処理はそのまま動作し、クラスモジュールでエラーがある場合は呼び出し元で中断するようになります。クラスモジュール)にしておきましょう。VBEの暗転(色を変える)4つ目はVBEの暗転・色の変更です。CodeやEclipseのように便利でかっこいい環境を構築することはできませんしかし、エディタ部分(コードを書く部分)のフォント・色の変更は可能です。開発する際は何時間も画面を見続けるため、背景は暗い方が目に優しく見やすいです。ゴシック」はどうも見づらく感じてしまいます。自分でカスタマイズし見やすい見た目を作ることが開発では大事になってきます。見た目に関することなので、実際に試して、お気に入りの設定を見つけてみていただきたいのですが、私の設定を例として載せておきます。参考にしてみてください。黄緑(下から6番目)実際に見てみるとこんな感じです。まとめ|よく使うからこそ環境設定は超大事!!今回はVBEでやるべき設定について解説しました。プログラミングでは環境設定は命です。他言語に比べ、Excelなどを開けばすぐに使えるVBAは設定が少ない方ですが、デフォルトの設定はイマイチいけてないです。他にもVBEの各ウィンドウの配置やタブ関連などもカスタマイズできます。自分好みの設定は開発しながら見つけていきましょう。2024年1月8日らるじゅ都内でSESやってます。『自由』を求めていると”FIRE”という生き方に出会い、現在はFIRE(特に、サイドFIRE)出来るように少しずつ進んでいます。当サイトは原則リンクフリーですリンクを行う場合の許可や連絡は不要です。引用する際は、引用元の明記と該当ページへのリンクをお願いします。画像ファイルへの直リンク、インラインフレームを使用したHTMLページ内で表示する形でのリンクはご遠慮ください。