構造体の作り方 Excel-VBA
今回は構造体の作り方です。Typeステートメントを使用してユーザー定義型を作成します。構造体は宣言セクション(モジュールの先頭から最初のマクロまでの領域)に記述します。サンプルとして、会社に所属している社員を表す構造体を定義してみます。
Option Base 1
Public Type Syain
CompanyName As String
id As Integer
SyainName As String
End Type
Sub test()
Dim Person(2) As Syain ‘構造体を定義
Person(1).CompanyName = ” 会社”
Person(1).id = 12345
Person(1).SyainName = “Tanaka”
Person(2).CompanyName = ” 会社”
Person(2).id = 2345
Person(2).SyainName = “Suzuki”
Dim i As Long
For i = 1 To 2
Cells(i, 1).Value = Person(i).CompanyName
Cells(i, 2).Value = Person(i).id
Cells(i, 3).Value = Person(i).SyainName
Next i
End Sub
サンプルプログラムでは、最初に会社の社員を表す構造体を定義します。構造体はTypeとEndTypeで括ります。
構造体を、全てのモジュールのマクロで使用できるようにするため、今回はPublic ステートメントを使っています。マクロ内で使うためには、Dim Person(2) As Syainとして構造体を定義して使います。
サンプルプログラムでは、要素数2の配列(Option Base 1 で配列のインデックス番号の下限を1)として宣言しています。ユーザー定義型の変数を使用するには、定義した構造体と変数を、Person(1).CompanyNameのように記述し変数に値を格納します。
サンプルプログラムでは、最後にループで変数に格納した値をシートに展開しています。
今回の例以外では、請求書をまとめたデータがあるなら、請求書構造体を作成して使用するなどの利用方法があります。