Excel VBAで配列の長さを取得
VBAには配列の長さを取得するLengthといったメソッドが存在しない。
そもそも配列にメソッドが存在するのかどうかも怪しい。
配列の長さを直接求める関数も存在しないため、以下の関数を利用する。
LBound | 配列の最小インデックスを取得 |
UBound | 配列の最大インデックスを取得 |
Sub PrintArray() Dim spl() As String spl = Split("a,b,c", ",") ' ["a","b","c"]という配列を生成 Debug.Print UBound(spl) - LBound(spl) + 1 ' 配列の長さを取得したい場合 Dim i As Integer For i = LBound(spl) To UBound(spl) ' 配列の各要素を順に処理したい場合 Debug.Print spl(i) Next End Sub