VBA – Limpar Matriz – Função Apagar

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on July 22, 2023

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.

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