VBA – Limpar Matriz – Função Apagar
In this Article
Este tutorial ensinará a você como limpar uma matriz no VBA.
Limpar Toda a Matriz
Para limpar uma matriz inteira, você pode usar a instrução Erase:
Erase arrExemplo
Na prática:
Sub LimparMatriz()
'Criar matriz estática
Dim arrExemplo(1 to 3) as String
'Definir valores de matriz
arrExemplo(1) = "Shelly"
arrExemplo(2) = "Steve"
arrExemplo(3) = "Neema"
'Apagar a matriz inteira
Erase arrExemplo
'Verificar valor da matriz
MsgBox arrExemplo(1)
End Sub
Redimensionar e Limpar Matriz
Se sua matriz for dinâmica (uma matriz dinâmica é uma matriz que pode ser redimensionada, ao contrário de uma matriz estática que não pode ser redimensionada), você poderá usar o Comando ReDim para redimensionar a matriz, limpando toda a matriz de valores.
'Apagar a matriz inteira
ReDim arrExemplo(1 To 4)
Exemplo completo:
Sub LimparMatriz2()
'Criar matriz dinâmica
Dim arrExemplo() As String
ReDim arrExemplo(1 To 3)
'Definir valores da matriz
arrExemplo(1) = "Shelly"
arrExemplo(2) = "Steve"
arrExemplo(3) = "Neema"
'Apagar a matriz inteira
ReDim arrExemplo(1 To 4)
'Verificar valor da matriz
MsgBox arrExemplo(1)
End Sub
Limpar Parte de uma Matriz
Como mencionado acima, o comando ReDim redimensionará uma matriz, limpando todos os valores da matriz. Em vez disso, você pode usar ReDim Preserve para redimensionar a matriz, preservando todos os valores existentes. Na prática, isso pode ser usado para limpar rapidamente parte de uma matriz.
'Apagar Posição 3+
ReDim Preserve arrExemplo(1 To 2)
Exemplo completo:
Sub LimparMatriz3()
'Criar matriz dinâmica
Dim arrExemplo() As String
ReDim arrExemplo(1 To 3)
'Definir valores da matriz
arrExemplo(1) = "Shelly"
arrExemplo(2) = "Steve"
arrExemplo(3) = "Neema"
'Apagar Posição 3+
ReDim Preserve arrExemplo(1 To 2)
'Redimensionar para 3 posições
ReDim Preserve arrExemplo(1 To 3)
'Verificar valor da matriz
MsgBox arrExemplo(3)
End Sub
Loop por Toda a Matriz – Redefinindo Valores
Em vez de limpar os valores da matriz usando Erase ou ReDim, você pode percorrer toda a matriz, redefinindo cada valor.