ユーザー定義型とは
ユーザー定義型は構造体とも呼ばれ、いくつかの型をひとまとめにして1つの型として取り扱えるようにしたものです。
VBAでは、ユーザー定義型は、Variant型の変数、コレクション、辞書には入れることができませんので注意が必要です。
定義・宣言
ユーザー定義型は Type として定義します。
Type 変数名
変数A As Long
変数B As Long
変数C As Long
変数D As String
End Type
このように、Type 変数名 につづけて内包したい変数を記述し、最後に End Type とします。
他の変数と同じように、Dim、Private、Public を付けて定義することができます。
Public Type 変数名
変数A As Long
変数B As Long
変数C As Long
変数D As String
End Type
使い方
使い方は、変数名を付けて宣言し、内包した変数はドット( . )を付けて表記します。
Public Type tOrder
前菜 As String
魚料理 As String
肉料理 As String
デザート As String
End Type
Sub UserType00()
Dim myOrder As tOrder
myOrder.前菜 = "サラダ"
myOrder.魚料理 = "白魚のムニエル"
myOrder.肉料理 = "牛ヒレ肉のソテー"
myOrder.デザート = "プチケーキ"
MsgBox "前菜は、" & myOrder.前菜
End Sub
使い方の注意点
冒頭でも書きましたが、ユーザー定義型はVariant型の変数、コレクション、辞書で使う事ができません。
実際の所、ユーザー定義型は配列に使うことで複雑なデータを整然と扱いたい場面で使用されることが多いようです。
もう少し高度な事をしたい場合は、クラスを使う事になると思いますが、ユーザー定義型はメンバ変数のみのクラスのような感じです。