スポンサーリンク
Excel VBAの配列では、
Dim arr(1 To 100 , 1 To 5)
など、要素数を決めてセットするわけだが、逆にその要素数(添字の上限・下限)を配列から取得することも当然できる。
それには、上限を取得するならUBound、下限を取得するならLBoundというものを使う。
これらは、UBound(arr, 1)のように書く。
という構成だ。
「次元」の方は省略することもできるが、2次元配列では省略するとややこしいので、明記するようにした方が良いだろう。
その「次元」は、2次元配列のarr(1 To 100 , 3 To 10)に対してなら、
次元=2 → 3 To 10 の方
だ。配列の添字は通常は0始まりだが、この「次元」は1始まりなのがまたややこしい。
その挙動をソースコードにまとめると、↓のような感じだ。
私としては、改めてこうやって要素数を取得しなくても、処理中に要素数を把握するようにしている場合が多いので、あまりUBound・LBoundは使わない。
ただ、ループ処理などで、↓のような書き方が紹介されることがある。
こういう処理記述も私はほぼ採用しないが、好みによって使うと良いかと思う。
スポンサーリンク