VBA 列挙型(Enum型)のサンプル

VBAの列挙型のサンプルです。

目次

サンプル 列挙型(Enum型)とは
  列挙型の定数に値を設定する

列挙型(Enum型)とは

[アクセス修飾子] Enum 名前 {
 定数1 [=数値]
 定数2 [=数値]
 ・・・
End Enum
  • 複数の定数を持つことができます。Enumというキーワードがあります。
  • 定数のデフォルトの値は先頭から0,1,2・・・と数値になります。
    →コード上で数値の代わりに文字列を指定するのでわかりやすくなります。
    →設定する数値の値は変更可能です。
  • 定数の値は変更できません。
  • 名前.定数でアクセスします。
  • アクセス修飾子は省略可能です。デフォルトはPublic です。Publicの場合 Enum 型がプロジェクト全体で認識できます。 
    Privateの場合、それが存在するモジュールの中でのみ認識されます。
  • 以下は、MicrosoftのEnumステートメントのリンクです。
    https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/enum-statement

列挙型のサンプルです。

Public Enum Color
    RED
    YELLOW
    BLUE
End Enum

Sub test1()
    Debug.Print (Color.RED) '0が出力される
    Debug.Print (Color.YELLOW) '1が出力される
    Debug.Print (Color.BLUE) '2が出力される
End Sub

1行目にEnumがあります。列挙型です。
2~4行目でカンマ区切りは不要です。
8~10行目のように定数名を指定すると設定した値が表示されます。
先頭の値は0から始まります。

 

列挙型の定数に独自の値を設定する

列挙型の定数に独自の値を設定できます。

Public Enum Color
    RED = 1
    YELLOW = 3
    BLUE = 5
End Enum

Sub test1()
    Debug.Print (Color.RED) '1が出力される
    Debug.Print (Color.YELLOW) '3が出力される
    Debug.Print (Color.BLUE) '5が出力される
End Sub

2~4行目の1,3,5が設定した値です。
8~10行目のように定数名を指定すると設定した値が表示されます。

関連の記事

VBA 構造体のサンプル
VBA With~End Withのサンプル

△上に戻る