VBA 配列の長さ/サイズ
Last updated on 5月 3, 2022
In this Article
このチュートリアルでは、VBAで配列の長さ(サイズ)を取得する方法について説明します。
配列の長さを取得する
配列の長さを取得するには、配列の開始位置と終了位置を知る必要があります。これを行うには、VBAのUBound関数とLBound関数を使用します。
LBound関数とUBound関数
このプロシージャは、1次元の配列に対するUBound関数とLBound関数の使用方法を示しています。
Sub UBoundLBound()
Dim exArr(1 To 4) As String
MsgBox UBound(exArr)
MsgBox LBound(exArr)
End Sub
この2つの値を使えば配列の長さ(UBound – LBound +1)が得られます。
配列の長さを取得する関数
この関数は、1次元の配列のサイズ(長さ)を計算します。
Public Function GetArrLength(a As Variant) As Long
If IsEmpty(a) Then
GetArrLength = 0
Else
GetArrLength = UBound(a) - LBound(a) + 1
End If
End Function
2次元配列のサイズを取得する
この関数は、2次元配列の要素の数を計算します。
Sub testArrySize()
Dim arr2D(1 To 4, 1 To 4) As Long
MsgBox GetArrSize_2D(arr2D)
End Sub
Public Function GetArrSize_2D(a As Variant) As Long
Dim x As Long, y As Long
If IsEmpty(a) Then
GetArrSize_2D = 0
Else
x = UBound(a, 1) - LBound(a, 1) + 1
y = UBound(a, 2) - LBound(a, 2) + 1
GetArrSize_2D = x * y
End If
End Function