見出し画像

定数について

 Excel VBAにおける定数は、プログラム内で固定値を表す特別な変数です。 
 プログラム実行中に値を変更することはできず、主に以下の3つの利点があります。

  1. コードの読みやすさの向上

 定数を使用することで、プログラムの意味を理解しやすくなります。
 例えば、消費税率を定数として宣言すると、コード内の10.8という数値が何の意味なのか一目瞭然になります。

  1. プログラムのバグ防止

 定数の値を変更できないため、意図せぬ値の変更によるバグを防ぐことができます。

  1. プログラムの保守性の向上

 定数の値を変更する場合は、プログラム全体を修正する必要があります。
 そのため、定数を適切に使用することで、プログラムの保守性を向上させることができます。

定数の宣言方法
 定数は、Constキーワードを使用して宣言します。構文は以下の通りです。

VBA
[アクセス修飾子] Const 定数名 As データ型 = 値
コードは注意してご使用ください。

 アクセス修飾子:省略可。Publicの場合はすべてのモジュールから、Privateの場合は現在のモジュールからのみ参照できます。
 定数名:任意の名前を付けられます。英数字、アンダースコア(_)、ハイフン(-)を使用できます。
 データ型:定数の型を指定します。Option、Boolean、Byte、Integer、Long、Currency、Single、Double、Date、String、Variantなどが利用できます。
値:定数に設定する値を指定します。

VBA
' 消費税率を10.8%として宣言
Public Const 消費税率 As Double = 10.8

' 円周率を定数として宣言
Const PI As Double = 3.14159265
コードは注意してご使用ください。

定数のスコープ
 定数のスコープは、宣言場所によって異なります。

モジュールレベル:モジュール全体で参照できます。
プロシージャレベル:そのプロシージャ内でのみ参照できます。

VBA
' モジュールレベルで宣言
Public Const 消費税率 As Double = 10.8

Sub プロシージャ()
' モジュールレベルで宣言した定数を参照
Dim 金額 As Double
金額 = 1000 * 消費税率
MsgBox 金額

' プロシージャレベルで定数宣言
Const 単価 As Double = 100

' プロシージャレベルで宣言した定数のみ参照
Dim 個数 As Integer
個数 = 5
Dim 合計金額 As Double
合計金額 = 単価 * 個数
MsgBox 合計金額

End Sub
コードは注意してご使用ください。

定数の種類
定数は、以下の種類に分類されます。

 名前付き定数:上記のように、Constキーワードを使用して宣言する定数です。
 組み込み定数:VBAで定義されている定数です。例えば、True、False、vbNullStringなどが組み込み定数です。
 列挙型定数:関連する定数のグループを定義する定数です。例えば、曜日を表す定数などを列挙型定数として定義できます。
 
定数の注意点
 定数は一度宣言したら、値を変更することはできません。
 定数は、Option Explicitステートメントを使用している場合のみ宣言できます。
 定数を使用する前に、必ず宣言していることを確認する必要があります。

まとめ
 Excel VBAにおける定数は、プログラムをより読みやすく、バグを防ぎ、保守性を向上させるために役立ちます。
 プログラム内で固定値を使用する場合は、定数を使用することを検討しましょう。

この記事が気に入ったらサポートをしてみませんか?