VBAで定数を宣言するにはConstを使用します。定数は一度宣言したら絶対に変わらないので、プログラムをシンプルに保てます。
変数と定数の違い
似たものとして変数が存在しますが、変数と定数の大きな違いは、その名の通り変更可能かどうかです。変数は値を何度でも変えることができますが、定数は一度宣言したら、宣言内容を変えない限り変えられません。そのため、以下のようなメリットが考えられます。
- 途中で誤って変更してしまったり、同じ数値を何度も打ち込む必要がなくなるため、入力ミスが減って、プログラムが読みやすくなる。
- 税率や人員数などの改変される可能性のある数値は、定数によって一括管理することで、宣言部分を変えるだけで済む。
プログラム内で値が変わらないものなどは、定数で定義するとよいでしょう。(変数を定義する際にはDimを使用します。)
Constの使い方
定数は以下のように宣言します。
1 |
[宣言レベル]Const[定数名] As [データ型] = 値 |
- 宣言レベル:PublicまたはPrivateと書きます。Publicならすべてのモジュールで有効になり、Pribateなら現行のモジュールでのみ有効になります。省略可能で、省略した場合はPrivateになります。
- 定数名:宣言したい名前を示します。
- データ型:定数の型を示します。
使用例
変数と定数の違いがとてもよくわかる例を示します。次のようなデータを考えます。
このデータのC列に、税込み価格を書き込むプログラムを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub Const_Sample() Const tax As Double = 0.08 '消費税率は8% Dim Price As Long '価格は変数 Dim i As Long For i = 2 To 4 Price = Cells(i, 2).Value Cells(i, 3).Value = Price * (1 + tax) 'データの書き込み Next End Sub |
消費税率は固定なので定数で、価格はそれぞれのデータで何度も変える必要があるので変数で定義しました。手順は以下の通りです。
- それぞれの要素を定義する。
- For~NextでB列のデータに繰り返し実行する。
- Valueで書き込む。
[実行結果]