VBA – Comprimento/Tamanho da Matriz

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on July 11, 2023

Este tutorial ensinará a você como obter o comprimento (tamanho) de uma matriz no VBA.

Obter o Comprimento da Matriz

Para obter o comprimento de uma matriz, você precisa saber as posições inicial e final da matriz. Você pode fazer isso com as funções UBound e LBound do VBA.

Funções LBound e UBound

Este procedimento demonstra como usar as funções UBound e LBound em uma matriz de dimensão única:

Sub FuncoesUBoundLBound()
    Dim exArr(1 To 4) As String
    
    MsgBox UBound(exArr)
    MsgBox LBound(exArr)
End Sub

Subtraindo os dois, você obterá o comprimento da matriz(UBound – LBound +1).

Função Obter Comprimento da Matriz

Essa função calculará o tamanho (comprimento) de uma matriz unidimensional:

Public Function ObterComprimentoMatriz(a As Variant) As Long
   If IsEmpty(a) Then
      ObterComprimentoMatriz = 0
   Else
      ObterComprimentoMatriz = UBound(a) - LBound(a) + 1
   End If
End Function

Obter Tamanho da Matriz 2D

Esta função calcula o número de posições em uma matriz bidimensional:

Sub TestarTamanhaMatriz()
    Dim arr2D(1 To 4, 1 To 4) As Long
    
    MsgBox ObterTamanhoMatriz_2D(arr2D)

End Sub


Public Function ObterTamanhoMatriz_2D(a As Variant) As Long
   Dim x As Long, y As Long
   
   If IsEmpty(a) Then
      ObterTamanhoMatriz_2D = 0
   Else
      x = UBound(a, 1) - LBound(a, 1) + 1
      y = UBound(a, 2) - LBound(a, 2) + 1
      ObterTamanhoMatriz_2D = x * y
   End If
End Function
vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA