VBA – Comprimento/Tamanho da Matriz
In this Article
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