Este tutorial ensinará como limpar um Array no VBA.
Limpar todo o array
Para limpar uma matriz inteira, você pode usar o Apagar declaração:
1 | Apagar arrExample |
Na prática:
123456789101112131415 | Sub ClearArray ()'Criar Matriz EstáticaDim arrExample (1 a 3) as String'Definir Valores de MatrizarrExample (1) = "Shelly"arrExample (2) = "Steve"arrExample (3) = "Neema"'Apagar Matriz InteiraApagar arrExample'Verificar o valor da matrizMsgBox arrExample (1)End Sub |
Resize and Clear Array
Se o seu Array for dinâmico (um array dinâmico é um array que pode ser redimensionado, ao contrário de um array estático que não pode ser redimensionado), você pode usar o Comando ReDim para redimensionar a matriz, limpando toda a matriz de valores.
12 | 'Apagar Matriz InteiraReDim arrExemplo (1 a 4) |
Exemplo completo:
12345678910111213141516 | Sub ClearArray2 ()'Criar Dynamic ArrayDim arrExample () As StringReDim arrExemplo (1 a 3)'Definir Valores de MatrizarrExample (1) = "Shelly"arrExample (2) = "Steve"arrExample (3) = "Neema"'Apagar Matriz InteiraReDim arrExemplo (1 a 4)'Verificar o valor da matrizMsgBox arrExample (1)End Sub |
Limpar parte de uma matriz
Conforme 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 um array.
12 | 'Apagar Posição 3+ReDim Preserve arrExample (1 a 2) |
Exemplo completo:
12345678910111213141516171819 | Sub ClearArray3 ()'Criar Dynamic ArrayDim arrExample () As StringReDim arrExemplo (1 a 3)'Definir Valores de MatrizarrExample (1) = "Shelly"arrExample (2) = "Steve"arrExample (3) = "Neema"'Apagar Posição 3+ReDim Preserve arrExample (1 a 2)'Redimensionar para 3 posiçõesReDim Preserve arrExample (1 a 3)'Verificar o valor da matrizMsgBox arrExample (3)End Sub |
Loop por toda a matriz - redefinindo valores
Em vez de limpar os valores da matriz usando Apagar ou ReDim, você pode fazer um loop por toda a matriz, redefinindo cada valor.
** link para loop **