目次
定義と使い方
VBA UBound()関数は配列の指定した次元で使用できる添字の最大値を含むLongデータ型を返します。
ヒント:UBound関数は、配列のサイズを決定するためにLBound 関数と共に使用されます。 配列の次元の上限を調べる場合は UBound 関数を使用します。
構文
UBound(arrayname[,dimension])
引数 | 説明 |
arrayname | 必須です。 配列変数の名前を指定します。 |
dimension | 省略可能。Variant (Long)。 取得する次元の上限を示す整数。 最初の次元には1、2番目の次元では2というように使用します。 次元を省略すると、1が想定されます。 |
実例
例1
dim a(10)
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
a(5)="Thursday"
document.write(UBound(a))
document.write("
")
document.write(LBound(a))
dim a(10)
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
a(5)="Thursday"
document.write(UBound(a))
document.write("
")
document.write(LBound(a))
結果:
10
0
例2
Sub test()
Dim arr, brr
arr = Array(1, 2, 3, 4)
MsgBox UBound(arr) '3を返す
brr = Range("A1:C5")
MsgBox UBound(brr, 1) '5を返す
MsgBox UBound(brr, 2) '3を返す
End Sub
上記のコードは最初に1次元配列arrを定義し、1次元配列は0から始まるため、ubound(arr)は3を返し、brrはRangeオブジェクトによって定義された5行3列の配列で 、Rangeで定義された配列は1から始まるため、Ubound(brr,1)は5を返し、Ubound(brr,2)は3を返します。
例3
Function FnLowerUpperBound()
Dim arrOneDArray(1 To 5)
Dim arrTwoDArray(1 To 5, -2 To 10)
Dim arrMultiDArray(0 To 4, -2 To 4, 2 To 7)
Dim strString
strString = "LBound arrOneDArray is: " & LBound(arrOneDArray) & vbCrLf ‘1次元配列
strString = strString & "LBound of 2nd dimension of arrTwoDArray is: " & LBound(arrTwoDArray, 2) & vbCrLf ‘2次元配列
strString = strString & "LBound of 3rd dimension of arrMultiDArray is: " & LBound(arrMultiDArray, 3) & vbCrLf ‘3次元配列
MsgBox strString ‘メッセージボックスを使用して、LBoundの実行結果を表示する
strString = "UBound of arrOneDArray is: " & UBound(arrOneDArray) & vbCrLf ‘1次元配列
strString = strString & "UBound of 2nd dimension of arrTwoDArray is: " & UBound(arrTwoDArray, 2) & vbCrLf ‘2次元データ
strString = strString & "UBound of 3rd dimension of arrMultiDArray is: " & UBound(arrMultiDArray, 3) & vbCrLf ‘3次元データ
MsgBox strString ‘メッセージボックスを使用して、UBoundの実行結果を表示する
End Function
コメントを残す