「vba enum 1から連番」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
VBA(Visual Basic for Applications)で、列挙型・Enumを1からの連番にするにはどうすればいいのかを探していらした方による検索キーワードでしょう。
0オリジンの列挙型を確認するサンプルマクロ
以下のようなEnumを定義しているときに、Subプロシージャ・testを実行したときに「3」ではなく「4」と表示させたいということだろうと推測しています。
Enum Fruit
apple
cherry
orange
strawberry
End Enum
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から連番」
になります。
apple = 1
cherry
orange
strawberry
End Enum
先頭の項目を「1」にしてやれば、残りの項目には順番に「1」を加算した整数が割り当てられます。
最終更新日時:2021-05-11 03:06
- Newer:VBAでグラフの元データとのリンクを解除する
- Older:VBAでシート全体を選択する
Home » エクセルマクロ・Excel VBAの使い方 » VBAの列挙型・Enumを1からの連番にしたい