LBound and UBound functions

Is there a reference library I need to enable in the VBE to get LBound and UBound functions

They don't appear to exist in the Object Browser with the current reference libraries I have enabled.

Many thanks!



Answer this question

LBound and UBound functions

  • Nic-Gun

    Andy Pope wrote:
    Hi,

    I believe those functions are in the Visual Basic for Applications library. Although not exposed via the object browser.

    Are you not able to use these functions

    I haven't tried using them yet, but since I could not find them in the object browser or help files, I assumed they resided in another .dll, which I would need to enable.


  • Lotfi1

    Cheers guys!

    I wasn't aware you could import namespaces in VBA I thought that was a VB.Net thing.


  • Salman Maredia

    Sorry, your original post quoted VBE I thought it was about VB Express edition.

    Anyway, you actually can reference .NET dlls from VBA, if they allow calling their classes through COM interface...

    Andrej



  • bigbob

    I used UBound on Excel VBA before. No additional reference. I guess it is just like Ucase(), they don't have intellsence pop up.
  • Hassan Ayoub

    Keithyboy1 wrote:

    Andy Pope wrote:
    Hi,

    I believe those functions are in the Visual Basic for Applications library. Although not exposed via the object browser.

    Are you not able to use these functions

    I haven't tried using them yet, but since I could not find them in the object browser or help files, I assumed they resided in another .dll, which I would need to enable.

    Well, i've just searched through the VBA Help section and found them in an instant, so they should be in there...

    This is what i've found so far:

    LBound Function

    Returns a Long containing the smallest available subscript for the indicated dimension of an array.

    Syntax

    LBound(arrayname[, dimension])

    The LBound function syntax has these parts:

    Part Description
    arrayname Required. Name of the array variable; follows standard variable naming conventions.
    dimension Optional; Variant (Long). Whole number indicating which dimension's lower 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 LBound function is used with the UBound function to determine the size of an array. Use the UBound function to find the upper limit of an array dimension.

    LBound returns the values in the following table for an array with the following dimensions:

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

    Statement Return Value
    LBound(A, 1) 1
    LBound(A, 2) 0
    LBound(A, 3) -3
    The default lower bound for any dimension is either 0 or 1, depending on the setting of the Option Base statement. The base of an array created with the Array function is zero; it is unaffected by Option Base.

    Arrays for which dimensions are set using the To clause in a Dim, Private, Public, ReDim, or Static statement can have any integer value as a lower bound.

    UBound Function

    Returns a Long containing 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 Required. Name of the array variable; follows standard variable naming conventions.
    dimension Optional; Variant (Long). 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 following values 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

    Hope this helps


  • IgorP

    Hi,

    I believe those functions are in the Visual Basic for Applications library. Although not exposed via the object browser.

    Are you not able to use these functions


  • Alina Diaz

    Hi,

    you'll find them in the Microsoft.VisualBasic.dll. To use them, you'll have to import Microsoft.VisualBasic namespace to use them.

    Andrej



  • LBound and UBound functions