ClearContents no VBA: Como usar?
Quer aprender a usar o método ClearContents no VBA? Então você está no lugar certo!
No Excel, excluir dados é uma tarefa bastante comum. Às vezes, excluímos um único valor de uma célula, às vezes vários valores de diversas células e, às vezes, também podemos realizar a exclusão de todo o conteúdo da planilha. Neste artigo mostraremos como usar o método ClearContents no VBA para automatizar a exclusão de dados no Excel.
Se interessou pelo assunto? Então confira os detalhes a seguir!
O que é ClearContents no VBA?
ClearContents é um método do VBA usado para excluir ou remover os valores armazenados nas células fornecidas a ele. Este método torna o intervalo de células vazio.
Para usar este método, primeiro você precisa definir a expressão que representa o local no qual você deseja limpar o conteúdo e, em seguida, digitar “.ClearContents”.
Expressão.ClearContents
Para melhor compreensão, confira a seguir alguns exemplos práticos.
ClearContents no VBA para Limpar o conteúdo de uma única célula
Suponha que você deseja limpar os valores da célula A1 da sua planilha. Primeiro, você precisa definir a célula A1 usando o objeto range e depois o método ClearContents. Veja o exemplo abaixo:
Sub LimparCelula() Range("A1").ClearContents End Sub
Você também pode usar a propriedade cells para definir uma célula e, neste caso, o código seria:
Sub LimparCelula() Cells(1, 1).ClearContents End Sub
ClearContents no VBA para Limpar o conteúdo de um intervalo
Do mesmo modo, você pode definir um intervalo e usar o método ClearContents para limpar valores e fórmulas desse intervalo. Digamos que você queira limpar valores do intervalo A1:B10, neste caso, o código ficará da seguinte maneira:
Sub LimparIntervalo() Range("A1:B10").ClearContents End Sub
ClearContents para Limpar planilha inteira
Para limpar o conteúdo de uma planilha inteira, você pode usar o código abaixo:
Sub LimparPlanilha() Cells.ClearContents End Sub
Por outro lado, se você precisa limpar uma planilha específica, use o seguinte código:
Worksheets("Planilha1").Cells.ClearContents
ClearContents no VBA para Limpar células selecionadas
Se você precisa criar um código dinâmico que possa limpar o conteúdo apenas das células selecionadas por você, então use o código abaixo:
Sub LimparSelecionadas() Selection.ClearContents End Sub
Diferenças entre Clear, Delete e ClearContents
Além do método ClearContents demonstrado nos exemplos acima, o VBA conta também com os métodos Clear e Delete que também podem ser utilizados para remover o conteúdo de uma célula ou intervalo de células. No entanto, é preciso analisar o tipo de resultado que se deseja obter para verificar qual método será o mais adequado para atender a sua necessidade.
Quando você usa o método Delete, ele excluirá a célula e a célula abaixo assumirá a posição da célula excluída.
Por exemplo, observe a imagem abaixo:
Agora, usaremos o método Delete para excluir a célula A1.
Sub Delete_Exemplo() Range("A1").Delete End Sub
Observe que a célula A1 foi excluída, mas a célula A2 moveu uma célula para cima e ocupou a célula excluída. Portanto, tenha cuidado ao usar o método Delete neste caso, pois isso levará a uma incompatibilidade de dados na sua planilha.
Por outro lado, veja o que ocorre quando utilizamos o método Clear para os mesmos dados.
Sub Clear_Exemplo() Range("A1").Clear End Sub
Note que o código acima removeu o conteúdo da célula A1 sem alterar as outras células. Portanto, este parece ser um método adequado caso você deseja excluir apenas a parte do conteúdo das células de todo o intervalo de dados. Mas observe que a formatação da célula também foi removida junto com seu conteúdo.
Por fim, se você observou os dois métodos anteriores, então deve ter notado que ambos os métodos não apenas excluíram ou limparam as células fornecidas, mas também excluíram a formatação da célula. Portanto, se você deseja manter a formatação das células, então a melhor opção é deixar de lado os métodos Delete e Clear e utilizar usar o método ClearContents conforme exemplo abaixo:
Sub Limpar_Exemplo() Range("A1").ClearContents End Sub
Outros métodos para Limpar Células no VBA
Conforme vimos acima, o método ClearContents no VBA é utilizado para excluir, ou remover os valores armazenados em uma célula ou intervalo de células. No entanto, dependendo do caso, limpar o conteúdo de uma célula pode não ser exatamente o que você precisa. E a boa notícia é que o VBA conta com outros métodos de remoção de conteúdo no Excel. Confira abaixo:
Método Clear
Remove todo o conteúdo da célula, incluindo a sua formatação.
Exemplo:
Range("A1").Clear
Método ClearComments
Exclui apenas os comentários das células especificadas mantendo o conteúdo e a formatação da célula.
Exemplo:
Range("A1").ClearComments
Método ClearFormats
Remove apenas a formatação das células especificadas mantendo o seu conteúdo, incluindo comentários.
Exemplo:
Range("A1").ClearFormats
Método ClearHyperlinks
Remove apenas os hiperlinks das células especificadas, mantendo o seu conteúdo e formatação.
Exemplo:
Range("A1").ClearHyperlinks
Método ClearNotes
Remove apenas as notas das células especificadas, mantendo o conteúdo das células e as formatações.
Exemplo:
Range("A1").ClearNotes
Método ClearOutline
Remove agrupamentos das células especificadas, mantendo o conteúdo e demais formatações das células.
Exemplo:
Range("A1:B8").ClearOutline
Onde inserir os códigos VBA?
Se você ainda é novo no “Universo VBA”, então é provável que esteja se perguntando onde e como deverá utilizar os códigos apresentados neste artigo. E para te ajudar nesta etapa, basta seguir o passo a passo abaixo:
1. Acesse a guia Desenvolvedor (Caso não tenha essa guia habilitada em seu Excel, confira aqui as etapas para habilitá-la).
2. Na guia Desenvolvedor, acesse Visual Basic.
3. Dentro da janela do VBA, acesse Inserir > Módulo.
4. Dentro do módulo que você criou, basta inserir os códigos apresentados neste artigo.
Importante: Todo código deve estar dentro de uma SUB. Isso significa que seu código precisa iniciar com a instrução SUB e terminar com a instrução END SUB.
Para mais detalhes sobre a criação de códigos no VBA, recomendamos a leitura dos seguintes artigos:
Confira também as seguintes dicas de Excel:
- Como manipular planilhas do Excel com o VBA (com exemplos)
- Variáveis no VBA Excel – Guia Completo
- Como Usar If Then Else no VBA – Passo a Passo
- Erros no VBA Excel – Tudo que você precisa saber!
- Como Copiar e Colar no VBA – Passo a Passo4
- Livros de Excel Avançado e VBA: 7 Opções Para Você Não Passar Mais Vergonha
E então, o que achou do uso do método ClearContents no VBA? Caso tenha ficado com alguma dúvida, deixe seu comentário abaixo!