12.配列を利用する

 

1.固定長配列について

Sub 固定長配列()

'3要素の配列変数を宣言します 

Dim tensuu(2) As Integer       

'配列の各要素に値を代入します           

tensuu (0) = 88 

tensuu (1) = 100 

tensuu (2) = 73  

'セル範囲に複数の値をまとめて入力します       ‘③ 

Range("A1:C1").Value = tensuu  

End Sub

 

Dim tensuu(2) As Integer 

・配列変数を使用する場合は「Dim」で宣言します。 

・配列は変数名の後ろに「()」を付けます。 

・最初に要素数を決める場合は、「()」の中にインデックスの最大値を指定します。 

このことを固定長配列といいます。 

・インデックスの最小値は、通常「0」なので、「2」を指定した場合は、インデックスが「012」の3つとなります。 

インデックスと配列の各要素は以下の通りとなります。 

・インデックス「0」・・・要素「88 

・インデックス「1」・・・要素「100 

・インデックス「2」・・・要素「73 

セル範囲には、次のように入力されます。 

・セル[A1]には「88」が入力されます。 

・セル[B1]には「100」が入力されます。 

・セル[C1]には「73」が入力されます。 

 

2.動的配列について

Sub 動的配列()  

'動的配列を宣言します            ‘① 

Dim tensuu () As Variant  

'動的配列に3要素の値を代入します 

tensuu = Array(88, 100, 73)  ‘②  

'1行×3列のセル範囲に配列を代入します 

Range("A2:C2").Value = tensuu  

End Sub 

 

Dim tensuu () As Variant 

・動的配列の場合は、「Dim」宣言時に、変数名の後ろの「()」には何も指定しません。 

・「変数の型(データ型)」は、バリアント型とします。 

tensuu = Array(88, 100, 73) 

・「Array」は、引数に指定した複数の値を要素とする配列を作成する「VBA関数」です。 

セル範囲には、次のように入力されます。 

・セル[A2]には「88」が入力されます。 

・セル[B2]には「100」が入力されます。 

・セル[C2]には「73」が入力されます。 

 

3.二次元配列について

Sub 二次元配列()  

'3行×2列の2次元配列を宣言します 

Dim tensuu(2, 1) As Integer  '①  

'配列の各要素に値を代入します           ' 

tensuu(0, 0) = 93 

tensuu(0, 1) = 89 

tensuu(1, 0) = 85 

tensuu(1, 1) = 88 

tensuu(2, 0) = 60 

tensuu(2, 1) = 58  

'配列の値をセル範囲に代入します        ' 

Range("A3:B5").Value = tensuu  

End Sub 

 

Dim tensuu(2, 1) As Integer 

・二次元配列では、インデックスが次のようになります。 

 

0

1

0

00

01

1

10

11

2

20

21

 

インデックスと配列の各要素は以下の通りとなります。

 

0

1

0

93

89

1

85

88

2

60

58

 

セル範囲には、次のように入力されます。 

・セル[A3]には「93」が入力されます。 

・セル[B3]には「89」が入力されます。 

・セル[A4]には「85」が入力されます。 

・セル[B4]には「88」が入力されます。

・セル[A5]には「60」が入力されます。 

・セル[B5]には「58」が入力されます。