初心者が始めに知っておきたいVBAの常識
ExcelVBAの初心者が最初に知っておいた方が良い事柄をまとめてみました。
ExcelVBAプログラミングでは「当たり前」と扱われている内容ですので、プログラムを始めて間もない方は再確認してみてください。
コメントアウト
プログラミング言語では、コメントアウト記号を使う事で、コードの途中に説明や注意点などを書き込む事が出来ます。
VBAでは、アポストロフィ(’)から行末までがコメントアウトとなりプログラムコードとして実行されなくなります。
また、コメントアウトされるとプログラムコードが実行されなくなるのを利用して、一次的にプログラムが実行されないようにする場合もあります。

折り返し
プログラムコードが一文が長くなって読みにくくなる場合は、半角+アンダーバー( _ )で折り返すことができます。
変数名の途中などで折り返すことはできません。

デバッグプリント
プログラムの途中で、
Debug.Print 変数
とすることで、イミディエイトウィンドウに値を表示させることができます。
メッセージボックスでも同じような事が出来ますが、Debug.Print の場合はいちいち止まらずに結果だけを残してくれます。

名前空間
短いプログラムでは必要ありませんが、プログラムが大きくなってくると一つのプロシージャでは見通しが悪くなるため、まとまった機能を別のプロシージャに分けて呼び出すという事をします。
プロシージャをいくつかに分けると共通して使いたい値が必要になる場合がありますが、基本的にプロシージャ内部の変数は他のプロシージャからは使えないようにfなっています。これを「名前空間」と呼びます。
共通で使いたい変数はプロシージャの外で宣言するか、パブリック変数として宣言する必要があります。

プログラムはどこに書くのか
基本的には標準モジュールを追加してそこに書きます。
標準モジュールは、VBEのメニューから「挿入」「標準モジュール」で追加できます。

標準モジュールを削除するときは、削除したいModuleを右クリックして「Moduleの解放」を選択します。
「削除する前にエクスポートしますか」と聞かれるので、再利用するのでなければ「いいえ」を選択すればOKです。

特別な場合として、何らかのイベントに対してプログラムを書く場合は、シートモジュールやThisbookモジュールに書くことになります。
イベントとは、システムが呼び出しにくる命令で、「シートが選択された時」「ブックを開く時」などがイベントと呼ばれます。
(こちらは中級者以上のレベルなので後述します。)
プログラムはどうやって実行するのか
書いたプログラムを実行するには、VBEであれば、F5キーや三角ボタンで実行できます。
ただ、ユーザーに使ってもらう場合は、VBEを開いたりしませんので、その時は呼び出すためのきっかけが必要です。
よく使うのはボタンを設置して、押された時に実行する方法です。
その他にも、前述のイベントに対して実行させる方法もあります。
また、新しいメニューの項目を設置して、メニューから実行させることもできます。
- ボタンの設置
- イベントが呼ばれた時
- メニュー項目