UBound Function

Description

Returns the largest available subscript for the indicated dimension of an array.

Syntax

UBound(arrayname[,dimension])

The UBound function syntax has these parts:

Part

Description

arrayname

Name of the array variable; follows standard variable naming conventions.

dimension

Whole number indicating which dimension's upper bound is returned. Use 1 for the first dimension, 2 for the second, and so on. If dimension is omitted, 1 is assumed.


Remarks

The UBound function is used with the LBound function to determine the size of an array. Use the LBound function to find the lower limit of an array dimension.

UBound returns the values listed in the table below for an array with these dimensions:


Dim A(1 To 100, 0 To 3, -3 To 4)

Statement

Return Value

UBound(A, 1)

100

UBound(A, 2)

3

UBound(A, 3)

4


See Also

Dim Statement, LBound Function, Option Base Statement, Public Statement, ReDim Statement, Static Statement.

Example

This example uses the UBound function to determine the largest available subscript for the indicated dimension of an array.


Dim MyArray(1 To 10, 5 To 15, 10 To 20)    ' Declare array variables.
Dim AnyArray(10)
Upper = UBound(MyArray, 1)    ' Returns 10.
Upper = UBound(MyArray, 3)    ' Returns 20.
Upper = UBound(AnyArray)    ' Returns 10.

This example writes the elements of the first custom list in column one on Sheet1.


Sub foo()
On Error GoTo err_handler
listArray = Application.GetCustomListContents(1)
For i = LBound(listArray, 1) To UBound(listArray, 1)
    Worksheets("sheet1").Cells(i, 1).Value = listArray(i)
Next i
Exit Sub

err_handler:
    MsgBox "Custom list does not exist"
End Sub

This example assumes that you used an external data source to create a PivotTable on Sheet1. The example inserts the SQL connection string and query string into a new worksheet.


Set newSheet = ActiveWorkbook.Worksheets.Add
sdArray = Worksheets("Sheet1").UsedRange.PivotTable.SourceData
For i = LBound(sdArray) To UBound(sdArray)
    newSheet.Cells(i, 1) = sdArray(i)
Next i