【VBA】定数(Const)の基本と活用術!マジックナンバーを排除して読みやすいコードへ
プログラムの中で何度も出てくる数値や文字列。それらを直接書き込むのではなく、「名前」を付けて管理するのが定数(Const)の役割です。定数を適切に使うことで、コードの意図が明確になり、修正ミスを劇的に減らすことができます。
1. 基本文法:Constステートメント
定数を宣言するには Const を使用します。変数とは異なり、一度値を決めたらプログラムの実行中に書き換えることはできません。型(As type)は省略可能ですが、明示的に指定するのが「理系」スタイルの堅牢な書き方です。
Const 定数名 [ As データ型 ] = 値
2. 実践サンプル:定数を使った計算
ポイント:意味のある名前(PIなど)を付ける
数値をそのまま書く(マジックナンバー)のを避け、定数として定義することで、後から見返したときに何を表しているのかが一目でわかります。
' 定数の宣言
Const PI As Double = 3.14
' 定数を使用した出力
Debug.Print PI
End Sub
3. 実行結果
マクロを実行すると、イミディエイトウィンドウに定義した値が出力されます。
4. なぜ「変数」ではなく「定数」を使うのか?
1. ここがメリット!: 定数は誤って書き換えられる心配がないため、システムの根幹をなす値(消費税率や円周率など)の管理に最適です。また、一箇所を直せばプログラム全体に反映されるため、保守性が非常に高くなります。
2. エンジニアの視点: コンパイル時に値が確定するため、実行速度の面でも(微々たるものですが)有利に働きます。Java 17でいう final 定数と同じく、不変性(Immutability)を担保する設計は、バグの少ない「いけいけ」なコードを生む基本です。
3. スコープの活用: モジュールの先頭で Public Const と宣言すれば、プロジェクト内のどこからでも参照できる「共通定数」になります。前回の記事で紹介した MConst モジュールに集約させるのが、プロレベルの管理術です。
5. まとめ
「その値は変わる可能性があるか?」を自分に問いかけ、変わらないものは積極的に Const にしていきましょう。ハードコーディングを卒業し、定数を使いこなすことで、あなたのVBAコードは一段とプロフェッショナルな輝きを放ち始めます。