第1回 和風スパゲティ勉強会「VBEの使い方大全」を受けて

VBAでの操作

blueです。

VBAを使い始めたものの、期間が空いてしまうと、基本を忘れてしまうことはないでしょうか?

私もそうなのですが、今回和風スパゲティさん(@wafu_spaghetti)の勉強会を受けたので、VBEの初期設定について整理しました。

今回は、講座を受けた自分の備忘録として、そして同じように忘れた方が効率よく学べるように、必要な設定と機能だけを厳選してまとめました。

初心者でも理解できるように、補足も加えました。

無駄なく快適な開発環境を整えるための参考になれば幸いです。

和風スパゲティさんの勉強会です。非常に丁寧に説明してくださっているのでVBAを初めて学ぶ人でも、ある程度学んだ方でも得るものが多いと思います。

動画を見るだけで十分と思います。

スポンサーリンク

VBEの初期設定(必須)

ツールのオプションでの設定(エディターの設定)

シンタックスハイライトの設定をします。

補足: シンタックスハイライトとは、“syntax”(構文)“highlight”(強調表示) を組み合わせた言葉で、プログラミングのコードを構文ごとに異なる色やフォントスタイルで表示する機能を指します。

  • 背景をすべて黒にする
  • 前景色の設定
  • 標準コード(ベタ打ちの数字や文字):黄
  • 識別子(関数や変数のこと(備え付け・自作どちらも)):白
  • 構文エラーの文字(書きかけのコードや構文エラー):ピンク
  • コメント' コメント):黄緑
  • キーワード(Sub、Dim、If、Then などの構文):水色
  • フォントはBIZ UDゴシック(等幅フォント)に設定

こちらは和風スパゲティさんの設定をそのまま活用させていただきました。

こんな感じになりました。

補足: UD(ユニバーサルデザイン)フォントは視認性を高めるために設計されたフォントです。

等幅フォントなのでコードの見た目が揃いやすくなります。

ツールのオプションでの設定(編集)

  • 自動構文チェックをオフにする
  • 変数の宣言を強制する(Option Explicit を有効にする)

補足:「自動構文チェックをオフする」の理由は書きかけで改行したときのエラー表示を防ぐためです。

補足:「変数宣言を強制する」の理由は、誤った変数名の使用を防ぎコードのバグを減らす為です(例:tempとtmpなど)。

ツールバーの設定

  • 表示 – ツールバー – 編集 を有効にする

補足:「編集を有効にする」理由はコメントブロック等を表示するためです。

プロジェクトエクスプローラーの設定

  • フォルダ表示をONにする

補足:「フォルダ表示をONにする」理由はフォルダをONにすることでシートモジュールやクラスモジュールと分ける為です。

VBEの初期設定(任意と思う)

ショートカットキーの設定

  • メニューバーあるいはツールバー上で右クリック → ユーザー設定を選択その後ツールバー上のボタンを右クリックし、名前を(&□)に変更する

補足:これでAlt+□で各種ボタンを押せるようになります。

ウィンドウの表示の設定

  • ウィンドウ – 左右に表示

補足:2つのモジュール間の操作がしやすくなります。

  • ウィンドウ – 分割

補足:1つのモジュールの上下の移動がしやすくなります。

習得必須の機能

ショートカットキーと便利機能

  • Alt+F11(ExcelとVBEを往復)
  • Ctrl+F(検索)
  • Ctrl+H(置換)
  • Tab(インデント)
  • Ctrl+Tab(逆インデント)

補足: インデントとは、「字下げ」「空白を使って段落や構造を整えること」 です。

  • Ctrl+Space で入力補完を表示(変数名の補完にも対応)

補足: インテリセンスとは、コード入力時に候補を表示してくれる機能です。「知的(intelligent)」+「感覚(sense)」を組み合わせた造語で、JavaScriptC#でも使われます。

補足:.を入力した後に出るものは自動メンバー表示です。自動メンバー表示(Auto List Members)とは、VBAのVBE(Visual Basic Editor)でコードを入力する際に、使用可能なプロパティ、メソッド、オブジェクトの一覧を自動的に表示する機能です。

テスト・デバックの進め方

テスト・デバックに使えるショートカット

  • 「デバック」-「コンパイル」ですべての構文チェックができる

補足:コンパイルとはプログラムのソースコードをコンピュータが理解できる機械語(バイナリ)に変換するプロセスのこと。
注意:VBEはコンパイルするときに一番落ちるらしいので事前のCtrl+Sは必須

  • F5(実行)
  • Esc連打(中断)
  • F8(ステップ実行)
  • Shift+F8(ステップオーバー)

補足:ステップオーバー(Step Over)とは、VBAのデバッグ時にサブルーチンや関数の内部に入らずに、その処理を一気に実行し、次の行へ進める操作です。関数内の処理は進めてしまいたい場合に使えます。

  • Ctrl+Shift+F8(ステップアウト)

補足:ステップアウト(Step Out)とは、現在実行中の関数やサブルーチンの処理を最後まで実行し、その呼び出し元に戻る操作です。

  • F9(ブレークポイント)
  • Stop 途中で止める

補足:Stopを使う場合はLoopの条件などで使うとよいそうです(If ~ Then Stop)

イミディエイトウィンドウ、ローカルウィンドウ、ウォッチウィンドウ

それぞれはメニューバーの「表示」-で表示させることが可能です。

  • イミディエイトウィンドウ・・・Debug.Printで表示できる
    ?変数で変数の中身を教えてくれる。変数=〇で変数を途中で変えることができる
  • ローカルウィンドウ・・・実行中に変数の中身を表示してくれる
    引数があるプロパティは見れないので注意
  • ウォッチウィンドウ・・・変数だけでなく、式(Cells(r.c).valueなど)も見れる
    見たい変数、式などを右クリックしてウォッチ式に追加でウォッチウィンドウに入れられる

プロシージャ分割を始めたら?

プロシージャに使えるショートカット

  • (関数名を選択して)Shift+F2(関数のプロシージャに飛べる)
  • (関数内で)Ctrl+Shift+F2(元書いていたところに戻れる)
  • (関数名を選択して)Ctrl+L(呼び出し元を調べる)
    補足:LはローカルのL、ローカルウィンドウにもある
  • Ctrl+上、下(次のプロシージャーに移る)
  • VBE画面右上のドロップダウンで関数の一覧が見れる

小ネタ・豆知識

Enumで列名を設定する

列をコピーして、行列変換して貼り付け、左セルと一緒にコピー、貼り付けすると1つインデントがつけることができる

VBEの主要構成要素(名前を忘れないために)

プロジェクトエクスプローラー

  • プロジェクト(VBAProject):Excelブックやアドインに紐づいたコードの管理単位。
    • モジュール:コードを記述する場所。以下の種類がある。
      • 標準モジュール(Module1, Module2, …):通常のVBAコードを記述する。
      • シートモジュール(Sheet1, Sheet2, …):各シート固有のコードを記述する。
      • クラスモジュール(Class1, Class2, …):オブジェクト指向プログラミング用のモジュール。

コードウィンドウ

  • プロシージャ(Sub, Function):VBAの実際の処理が記述される。
    • Function(関数):値を返す処理を行う。
    • Sub(サブルーチン):処理を実行する。

イミディエイトウィンドウ

  • Ctrl + G で開く。
  • デバッグのために一時的なコードの実行や変数の確認ができる。

ローカルウィンドウ・ウォッチウィンドウ

  • ローカルウィンドウ:現在のプロシージャで使用している変数の値をリアルタイムで確認できる。
  • ウォッチウィンドウ:特定の変数の値を監視しながらコードを実行できる。

まとめ

VBEの設定を適切に行うことで、作業の効率化とコードの可読性向上が期待できます。

これを参考にして、自分に合った開発環境を整え、VBAをより快適に活用してください!

私が書いた書籍です。VBAで培ったWebAPIの知識を基に作成しました。
Google AppSheetGAS生成AIを初めて使う人向けに書いています。ぜひ手に取って見てください。

コメント

タイトルとURLをコピーしました