【入門】Excel VBAでプログラムを書こう2

勤務先の会社で「プログラムってほとんど書いたことないのですが私にもVBAで作業の自動化とかできますかね?」と聞かれたので、これを読めば一通りマクロを走らせられるという手順書をまとめて行こうと思います。そもそもExcelのマクロをどこに書くのかなど、基本的なところから始めてとりあえず簡単な処理を自分で掛けるようになることを目標にする予定。

第二回はVisual Basic Editor (VBE)の表示画面について。

スポンサーリンク

画面の説明

まずはVisual Basic Editorの画面について簡単に説明します。特に何もしていなければ、下記のような5つのウィンドウからなる構成になっていることが多いと思います。表示されていなければ上部ツールバーの「表示」から表示させたいウィンドウを選択してください。

これらについて一つずつ簡単に見ていきましょう。今の段階ですべてを覚える必要はないですが、どのような情報を見ることができるのかはなんとなく理解しておきましょう。

コードウィンドウ

おそらく画面上で一番広い領域を占めているところがVBAのコードを書くところです。それ以外の情報を見ることもできますが、とりあえずはこの部分にプログラムのコードを書いていくと思っておいてください。

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

プロジェクトエクスプローラーでは、VBAプロジェクトの構成をを確認したり変更したりすることが可能です。プロジェクトというのはとりあえず「プログラムの動作に必要な要素をまとめたひと塊」だと思っておいていただければ大丈夫です。

下記の例には複数のプロジェクトが含まれていますが、「VBAProject (Book1)」という名前のプルジェクトを見てみましょう(これは新規に作成したBook1という名前のエクセルファイルのVBAプルジェクトです)。Sheet1、Sheet2、Sheet3、Thisworkbookという要素(オブジェクト)があることがわかります。実は下記の例でVBAを書こうとしているExcelのブックにはSheetが3つあるので、それに対応するようにプロジェクトの要素が連動しています。Sheet1に数字を書き込むなど、VBAを使って各要素にアクセスする際にこれらのオブジェクトを使用します。Thisworkbookはその名の通り、現在のワークブック全体を表すオブジェクトです。

プロパティウィンドウ

プロパティウィンドウでは選択したオブジェクトの特性(プロパティ)を確認、変更することが可能です。

下記ではSheet1というオブジェクトを選択している際に表示されるプロパティウィンドウの例です。特性(プロパティ)は複数ありますが、例えば「Name」というプロパティを見てください。これはワークシートの名前を示すプロパティです。試しにこの値を変更してみてください。すると実際のエクセルシート上でもシート名が変わってしまいます。このようにプロジェクトの構成要素のプロパティの操作に関わるのがプロパティウィンドウです。

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

イミディエイトウィンドウはコマンドプロンプトのようなもので(わからないかもしれませんが)、ここに短いプログラムを書いて実行してみたり、プログラム全体を実行した時の値を出力したりするのに使います。初心者としてVBAに取り組む際は、デバッグのために変数の値などを出力して確認するために使うことが多くなります。

ローカルウィンドウ

ローカルウィンドウではプログラムの実行中に変数の中に入っている値を確認することができます(詳細は後程デバッグの回で説明します)。これは基本的にデバッグ時に使用します。