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:

Como limpar células com o método ClearContents

Agora, usaremos o método Delete para excluir a célula A1.

Sub Delete_Exemplo()
Range("A1").Delete 
End Sub

Diferença entre Clear, Delete e ClearContents

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

Método Clear no VBA

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

Como usar clearcontents no VBA

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 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 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 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 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).

Excel guia desenvolvedor exibir

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:

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!