次の方法で共有


Const ステートメント

リテラル値の代わりに使用する定数を宣言します。

構文

[ パブリック | Private ] Constconstname [ Astype ] =expression

Const ステートメントの構文には、次の指定項目があります。

指定項目 説明
Public 省略可能。 すべてのモジュール内のすべてのプロシージャで使用できる定数を宣言するためにモジュール レベルで使用されるキーワード プロシージャ内では使用できません。
Private 省略可能。 宣言が行われるモジュール内でのみ使用できる定数を宣言するために、モジュール レベルで使用されるキーワード。 プロシージャ内では使用できません。
constname 必須です。 定数の名前。は、標準 変数 の名前付け規則に従います。
type 省略可能。 定数のデータ型。は、ByteBooleanIntegerLongCurrencySingleDoubleDecimal (現在サポートされていません)、DateString、Variant のいずれかです。 宣言する定数ごとに個別の As 句を使用します。
expression 必須です。 リテラル値、その他の定数、または、すべての算術演算子や論理演算子 (Is を除く) の任意の組み合わせを指定します。

解説

既定では、定数はプライベートです。 プロシージャ内では、定数は常にプライベートであり、その参照可能範囲は変更できません。 標準モジュールでは、パブリック キーワード (keyword)を使用して、モジュール レベルの定数の既定の可視性を変更できます。 ただし、クラス モジュールでは、定数はプライベートにのみ設定でき、パブリック キーワード (keyword)を使用して可視性を変更することはできません。

複数の定数宣言を 1 つの行に結合するには、定数宣言をコンマで区切ります。 このようにして定数宣言を結合した場合、Public または Private キーワードを使用すると、すべての定数宣言に適用されます。

定数に代入するの中で、変数、ユーザー定義関数、または Visual Basic の組み込み関数 (Chr など) を使用することはできません。

注:

定数を使用すると、プログラムがわかりやすく、修正も容易になります。 変数とは異なり、定数では、プログラムの実行中に値が誤って変更されることはありません。

Asを使用して定数型を明示的に宣言しない場合、定数にはに最も適したデータ型があります。

SubFunction、または Property プロシージャで宣言された定数は、そのプロシージャに対してローカルです。 プロシージャの外で宣言された定数は、宣言されたモジュール内のどこからでも定義できます。 式を使用できる任意の場所で定数を使用します。

次の例では、Const ステートメントを使用して、リテラル値の代わりに使用する定数を宣言します。 Public 定数は、クラス モジュールではなく標準モジュールの General セクションで宣言されます。 Private 定数は、あらゆる種類のモジュールの General セクションで宣言されます。

' Constants are Private by default. 
Const MyVar = 459 
 
' Declare Public constant. 
Public Const MyString = "HELP" 
 
' Declare Private Integer constant. 
Private Const MyInt As Integer = 5 
 
' Declare multiple constants on same line. 
Const MyStr = "Hello", MyDouble As Double = 3.4567 

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。