サイトについて      連絡先   検索

VBA 配列

はじめに

Excel VBA で配列の宣言・代入など操作する方法を紹介します。

配列には静的配列と動的配列があります。

配列の宣言

静的配列

宣言時に要素数を指定します。宣言後に配列の要素数を変更できません。

' 静的(0 ~ 3) の 4 つの要素数を持ちます。
Dim 静的(3) As Integer

' 静的(1 ~ 3) の 3 つの要素数を持ちます。
Dim 静的(1 To 3) As Integer

動的配列

宣言時に要素数を指定しません。宣言後に配列の要素数を変更できます。

' まだ要素数はありません。
Dim 動的() As Integer

' 他の配列を変数にいれられます。
Dim tips(3) As Integer
動的 = tips

' 配列の要素数を変更
Redim Preserve 動的(3) ' Dim tips(3) As Integer と要素数が同じになります。

配列に代入

配列に代入するには次の条件があります。

' 動的配列で宣言している。
Dim 配列() As Integer

' 型が一致している
Dim 一致(3) As Integer
配列 = 一致 ' 代入できる

' 型が一致していない
Dim 不一致(3) As Long
配列 = 不一致 ' 代入できない

配列の操作

配列を初期化するときなど、ループで回したいときに要素数の最大値と最小値が必要になります。

Dim tips(3) As Integer
Dim max As Integer
max = UBound(tips) ' 配列の最大インデックスを返します。 i = 3
Dim min As Integer
min = LBound(tips) ' 配列の最小インデックスを返します。 i = 0

' UBound, LBound を使用してループできます。
Dim i As Integer
For i = LBound(tips) To UBound(tips)
    ' i の値が 0 ~ 3 まで変化します。
    tips(i) = 10
Next

関連ページ