4-1 配列とは
Dim Member(3)でMember(0),Member(1),Member(2),Member(3)の要素を設定できるようになる
4-2 動的配列
- 要素数が未定の時に使う
Dim Member() As String
ReDim Member(3) 要素数を設定する
- ただし、
ReDimで要素数を変更すると、それまで格納されていた値が消える
- 要素数を宣言した配列では
ReDimを利用できない
ReDim Preserveとする事で、格納されていた値を消す事無く要素数を変更できる
4-3 静的変数
- プロシージャが終了しても格納されている値が消去されない変数
Dimの代わりにstatic 変数名で宣言する。
- 使いどころ難しそう
4-4 オブジェクト変数
Dim but As Range:セルを格納する型
Dim but As Worksheet:ワークシートを格納する型
Dim but As Workbook:ブックを格納する型
Dim but As Object:すべてのオブジェクトを表す事が出来る
Set 変数名 = オブジェクトでオブジェクトを変数に格納する
set but = Nothing:明示的にオブジェクト変数を破棄する
Sub sample9()
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = ActiveSheet
Set WS2 = Worksheets.Add
WS1.Activate
WS2.Name = "合計"
End Sub
4-5 ユーザー定義型
- 複数の異なる型を配列にセットできる
- 宣言セクションで定義を行う
Type ユーザー定義型
要素名 As 要素の型
要素名 As 要素の型
End Type
- セルから異なる方を配列にセットする場合
- 以下の例の場合には、セルの位置を
(配列の要素番号,1)としている
Option Explicit
Type ProfileData
Address As String
Age As Long
End Type
Sub sample11()
Dim Member(3) As ProfileData, i As Long
For i = 2 To 4
Member(i - 1).Address = Cells(i, 1)
Member(i - 1).Age = Cells(i, 2)
Next i
MsgBox Member(2).Address & " " & Member(2).Age
End Sub
ううむ