サイトについて      連絡先   検索

VBA 定数

はじめに

Excel VBA の定数の使い方を紹介します。

定数は値に意味のある名前を付けられ、一度設定すると後から値を変更できなくなります。

Const キーワードで定数を宣言できます。

定数の宣言と初期化

Const が定数を宣言するキーワードです。定数は変数と違って 1 度だけ値を代入できます。その後は値を変更できません。

Const 定数名 As 型名 = 値のようにして宣言します。


Const サイト名 As String = "Tipsfound"
Const MAX As Integer = 100
Const 誕生日 As Date = "2000/12/31"

定数に代入できる値

定数には宣言した時点で決まっている値、主に文字列や数値や日付などを設定できます。Function 関数の戻り値や Object 型 (クラス) は定数にできません。


Const 文字列 As String = "文字"
Const 数値 As Integer = 100
Const 日付 As Date = #3/30/2013#
Const クラス As Object = Range("A1") ' これはできない
Const 数値2 As Integer = 関数名      ' これはできない

他のプログラミング言語にある ReadOnly は VBA にはありません。

定数のスコープ

定数を参照できる範囲を「スコープ」と呼びます。

別のファイルの定数を使用するにはスコープが Public になっている必要があります。

定数を使う理由

次のように定数名を付けることで、100 という意味のない数値が最大値であることがわかり、ただの日付が誕生日であることがわかります。これでコードを理解しやすくなります。


Const MAX As Integer = 100
Const 誕生日 As Date = "2000/12/31"

またコードのいたるところに 100 と書くと入力ミスで 1000 になることがあります。変数に 100 を入れてもどこかで違う値が設定されるかもしれません。定数を使えば宣言した場所に間違いがないか確認するだけで済みます。

Enum

Long 型の定数をまとめた列挙型というものがあります。定数に関連性があるのでわかりやすくなります。

関連ページ