Home » エクセルマクロ・Excel VBAの使い方 » VBAの列挙型・Enumを1からの連番にしたい

「vba enum 1から連番」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBA(Visual Basic for Applications)で、列挙型・Enumを1からの連番にするにはどうすればいいのかを探していらした方による検索キーワードでしょう。

[スポンサードリンク]

0オリジンの列挙型を確認するサンプルマクロ

以下のようなEnumを定義しているときに、Subプロシージャ・testを実行したときに「3」ではなく「4」と表示させたいということだろうと推測しています。

Option Explicit

Enum Fruit
 apple
 cherry
 orange
 strawberry
End Enum

Sub test()
 MsgBox strawberry
End Sub

Enumステートメントで、値を指定しなかった場合、「0」からの連番が割り当てられます。

つまり上記の、
 Enum Fruit
  apple
  cherry
  orange
  strawberry
 End Enum
は、
 Enum Fruit
  apple = 0
  cherry = 1
  orange = 2
  strawberry = 3
 End Enum
と定義されます。

ですから、
 MsgBox strawberry
を実行したときに「3」が表示されたわけです。

列挙型を1オリジンにする

列挙型の定義を以下のようにすれば、
「vba enum 1から連番」
になります。

Enum Fruit
 apple = 1
 cherry
 orange
 strawberry
End Enum

先頭の項目を「1」にしてやれば、残りの項目には順番に「1」を加算した整数が割り当てられます。

最終更新日時:2021-05-11 03:06

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBAの列挙型・Enumを1からの連番にしたい

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.