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
ううむ