VBA 配列の長さ/サイズ

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 5月 3, 2022

このチュートリアルでは、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
vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples