ユーザー定義型変数を使う(Type ステートメント)
Type ステートメントを使う
Type ステートメントを使うと1つまたは複数の要素をユーザー定義型として1つにまとめて扱うことができます。
[ Private | Public ] Type varname
element As element_type
[ …… ]
End Type
【項目の説明】
- varname ・・・ 宣言するユーザー定義型の名前
- element ・・・ ユーザー定義型の要素名
- element_type ・・・ ユーザー定義型の要素 element のデータ型
- [ …… ] ・・・ 要素が複数ある場合、element,element_typeを記述します。
Public を指定するとすべてのモジュールのどのプロシージャからも参照できます。一方、Private を指定すると宣言が行われたモジュール内でしか参照できなくなります。
ユーザー定義型の変数を宣言し使用する場合は、その変数名の後にピリオド(.)を入力するとその要素名のリストが表示されます。
ユーザー定義型の配列に対しては、For Each … Next ステートメントを使用することはできません。配列要素の繰り返しには、通常の For … Next ステートメントを使用します。
Type ステートメント使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
'-------------------------------------------------------------------- ' ユーザー定義型 '-------------------------------------------------------------------- Type myAddress ID As Integer Namae As String Birthday As Date Syumi As Variant End Type '-------------------------------------------------------------------- ' ユーザー定義型変数を使う '-------------------------------------------------------------------- Sub Sample() Dim myData(1 To 5) As myAddress Dim i As Long, str As String With ActiveWorkbook.Worksheets("Sheet1") For i = 1 To 5 myData(i).ID = .Cells(i + 1, 1).Value myData(i).Namae = .Cells(i + 1, 2).Value myData(i).Birthday = .Cells(i + 1, 3).Value myData(i).Syumi = Split(.Cells(i + 1, 4).Value, "、") Next i End With For i = 1 To 5 str = str & " " & myData(i).ID str = str & " " & myData(i).Namae str = str & " " & myData(i).Birthday str = str & " " & Join(myData(i).Syumi, ",") str = str & Chr(13) Next i MsgBox str End Sub |
実行結果
関連記事
-
繰り返し処理(While…Wend ステートメント)
While…Wend ステートメントの使い方 【構文】 While …
-
プロシージャを呼び出す(Call ステートメント)
プロシージャを呼び出す プロシージャ内から、別のプロシージャを呼び出すには、Ca …
-
With ステートメントを使う
With ステートメントを使う With ステートメントを使うことで、1度指定し …
-
引数の参照渡し・値渡し( ByRef, ByVal )
引数の「参照渡し」と「値渡し」 「参照渡し」とはプロシージャに引数として変数を渡 …
-
条件分岐(Select Case ステートメント)
Select Case ステートメントの使い方 【構文】 Select Case …
-
set ステートメントを使う
Set ステートメントを使う 【構文 1】 Dim objectvar [ As …
-
繰り返し処理(For Each…Next ステートメント)
For Each…Next ステートメントの使い方 【構文】 For …
-
エラー処理(On Error ステートメント / Errオブジェクト)
On Error ステートメントの使い方 【構文 1】 On Error GoT …
-
プロシージャ内のサブルーチンへ移動(GoSub…Return ステートメント)
GoSub…Return ステートメント GoSub ステートメント …
-
変数やプロシージャのスコープ(適用範囲)
変数やプロシージャのスコープ(適用範囲) 【構文:変数の宣言】 { Dim | …
- PREV
- With ステートメントを使う
- NEXT
- set ステートメントを使う