【ExcelVBA】配列の全件ループ(foreach相当)

汎用的な書き方

Dim ary(3) as Long

ary(1) = 1

ary(2) = 2

ary(3) = 3

 

Dim i As Integer

For i = LBound(ary) to UBound(ary)

  '...

Next

静的配列ならば添え字が「1はじまり」~「配列個数」

ReDimした動的配列ならば添え字が「0はじまり」~「配列個数-1」。

両者対応するには LBound(x) to UBound(x)。i=0とかi=1とかできない。

なんだこの仕様。