配列のインデックスの最大値を取得

UBound関数は、配列データの個数を取得する際に使用します。実際には最大値を取得します

'配列の最大数を取得
Debug.Print UBound(配列変数)

配列変数のインデックスの最大値を取得するには「UBound」関数を使用します

関数の書式

引数(太字は必須引数)
UBound(arrayname, dimension)
戻り値の型 Long型

引数「arrayname」は、配列変数名を指定します
引数「dimension」は、取得する次元数を数値で指定します。省略時は1次元が指定されます。多次元配列を使用する際に、指定する引数です

多次元配列に関しては以下の記事を確認してください

関数の解説

基本的には、配列データの個数を取得するために使用しますが、この関数の戻り値がそのまま個数にはならない点には注意が必要です

と、いうのも配列データの下限値は任意に変更することが出来ます
下限値を3に設定してUbound関数で5が取得された時、要素数は3,4,5の3つとなります
通常は0から始まるため、Ubound関数の戻り値に1を加算すれば個数になります

こういったことからも、下限値はあまり変更しない方がいいと思います
当サイトは下限値の設定は行わず、常に0であると想定して解説しています

主には動的配列使用時に、要素を新規追加したりループの回数指定に使用したりします
要素のインデックス最大値なので、データの個数はそれに+1したものになります

また下限値を取得するには「LBound」関数を使用しますが、基本的に下限値を「0」以外に設定する処理は解説もしていませんので記事としての解説は割愛しておきます
使い方は全く同じ使い方をします