ユーザー定義型

ExcelVBAの基礎

ユーザー定義型とは

 ユーザー定義型は構造体とも呼ばれ、いくつかの型をひとまとめにして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型の変数、コレクション、辞書で使う事ができません。
 実際の所、ユーザー定義型は配列に使うことで複雑なデータを整然と扱いたい場面で使用されることが多いようです。
 もう少し高度な事をしたい場合は、クラスを使う事になると思いますが、ユーザー定義型はメンバ変数のみのクラスのような感じです。

タイトルとURLをコピーしました