Como usar a função UBound no VBA?

A função `UBound` no VBA (Visual Basic for Applications) é usada para obter o índice máximo de uma dimensão de um array. Isso é particularmente útil quando você precisa iterar sobre todos os elementos de um array e não sabe previamente quantos elementos existem.

Aqui está como usar a função `UBound` no VBA:

Sintaxe

UBound(arrayname [, dimension])
  • `arrayname`: O nome do array para o qual você deseja obter o índice máximo.
  • `dimension` (opcional): Um número inteiro que indica a dimensão do array para a qual você deseja o limite superior. Use `1` para a primeira dimensão, `2` para a segunda, e assim por diante. Se você não especificar a dimensão, o padrão é `1` (a primeira dimensão).

Exemplo Simples

Imagine que você tem um array unidimensional e deseja saber o número de elementos:

Sub ExemploUBound()
    Dim numeros As Variant
    numeros = Array(10, 20, 30, 40, 50)

    Dim indiceMax As Integer
    indiceMax = UBound(numeros)

    MsgBox "O índice máximo do array é: " & indiceMax
End Sub

Exemplo com Array Bidimensional

Se você estiver trabalhando com arrays multidimensionais, também poderá usar `UBound` para saber o limite superior de outras dimensões:

Sub ExemploUBoundMultidimensional()
    Dim matriz(1 To 5, 1 To 10) As Integer

    Dim limiteSuperiorDim1 As Integer
    Dim limiteSuperiorDim2 As Integer

    limiteSuperiorDim1 = UBound(matriz, 1)
    limiteSuperiorDim2 = UBound(matriz, 2)

    MsgBox "Limite superior da primeira dimensão: " & limiteSuperiorDim1
    MsgBox "Limite superior da segunda dimensão: " & limiteSuperiorDim2
End Sub

Notas

  • Combine `UBound` com `LBound` se você precisar determinar o número total de elementos em uma dimensão do array. `LBound` retorna o índice mínimo.
  • Certifique-se de que o array já foi dimensionado antes de usar `UBound`, caso contrário ocorrerá um erro.

Usar `UBound` é uma maneira eficaz de garantir que você está iterando corretamente por todos os elementos de um array, evitando erros de índice fora dos limites.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project