VBA Remover Duplicatas

O Excel possui um recurso usado para remover os valores duplicados das células, linhas ou tabelas selecionadas. E se esse processo automatizarmos no VBA? Sim, o processo de remoção da duplicata pode ser automatizado no VBA na forma de macro. No processo de remoção da duplicata, uma vez concluída, os valores exclusivos permanecem na lista ou tabela. Isso pode ser feito com a ajuda da função Remove Duplicates no VBA.

Como usar o Excel VBA Remove Duplicates?

Vamos aprender como usar um VBA Remove Duplicates com alguns exemplos no Excel.

Você pode fazer o download deste modelo do VBA Remove Duplicates Excel aqui - Modelo do VBA Remove Duplicates Excel

Exemplo # 1 - VBA remove duplicatas

Temos uma lista de números que começa de 1 a 5 até a linha 20 apenas na coluna A. Como podemos ver na captura de tela abaixo, todos os números estão sendo repetidos várias vezes.

Agora, nosso trabalho é remover o duplicado da lista pelo VBA. Para isso, vá para a janela VBA pressionando a tecla F11.

Neste exemplo, veremos o uso básico de como o VBA Remove Duplicates pode funcionar para números. Para isso, precisamos de um módulo.

Etapa 1: Abra um novo módulo no menu Inserir, localizado na guia Inserir.

Etapa 2: Depois de aberto, escreva a subcategoria do VBA Remove Duplicate, como mostrado abaixo.

Código:

 Sub VBARemoveDuplicate1 () End Sub 

Etapa 3: no processo de remoção da duplicata, primeiro precisamos selecionar os dados. Para isso, no VBA, selecionaremos a função até que desça para selecionar a lista de dados completa, como mostrado abaixo.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Selecione End Sub 

Etapa 4: Agora vamos selecionar o intervalo de células ou colunas selecionadas A. Ele diminuirá até termos os dados em uma coluna específica. Não só até a linha 20.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Selecione Intervalo (Selection, Selection.End (xlUp)). Selecione End Sub 

Etapa 5: agora selecione o intervalo das células em uma planilha aberta no momento, como mostrado abaixo. Isso ativará a coluna completa. Selecionamos a coluna A até o final.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Selecione Range (Selection, Selection.End (xlUp)). Selecione ActiveSheet.Range ("A: A"). End Sub 

Etapa 6: Agora use a função RemoveDuplicate aqui. Isso ativará o comando para remover os valores duplicados da sequência das colunas 1. Se houver mais colunas, o número será adicionado e separado por vírgulas entre colchetes como (1, 2, 3, …).

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown). Selecione Range (Selection, Selection.End (xlUp)). Selecione ActiveSheet.Range ("A: A"). RemoveDuplicates Colunas: = 1, End Sub 

Etapa 7: Agora, usaremos o comando Cabeçalho, que moverá o cursor para a célula superior da planilha, que está principalmente no cabeçalho de qualquer tabela.

Código:

 Sub VBARemoveDuplicate1 () Selection.End (xlDown) .Selecione Range (Selection, Selection.End (xlUp)). Selecione ActiveSheet.Range ("A: A"). RemoveDuplicates Colunas: = 1, Cabeçalho: = xlYes End Sub 

Etapa 8: Agora compile as etapas do código pressionando a tecla F8. Uma vez feito, clique no botão Play para executar o código como mostrado abaixo.

Como podemos ver, o número duplicado é excluído da coluna A e resta apenas uma contagem exclusiva.

Exemplo # 2 - VBA Remove Duplicates

Neste exemplo, veremos como remover valores duplicados de mais de uma coluna. Para isso, consideraremos a mesma lista duplicada usada no exemplo-1. Mas, de uma nova maneira, adicionamos mais 2 colunas dos mesmos valores, como mostrado abaixo.

Este é outro método com um tipo diferente de estrutura de código.

Etapa 1: abra um novo módulo no VBA e escreva a subcategoria no VBA Remove Duplicate. Se possível, forneça um número de sequência para que seja melhor escolher o código certo para executar.

Código:

 Sub VBARemoveDuplicate2 () End Sub 

Etapa 2: Primeiro, selecione a planilha completa no VBA, como mostrado abaixo.

Código:

 Sub VBARemoveDuplicate2 () Cells.Select End Sub 

Etapa 3: Agora selecione a planilha aberta no momento com o comando ActiveSheet e selecione as colunas A a C, conforme mostrado abaixo.

Código:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). End Sub 

Etapa 4: agora selecione o comando RemoveDuplicates e depois selecione a matriz de colunas de 1 a 3, como mostrado abaixo.

Código:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), End Sub 

Etapa 5: No último uso, o comando Cabeçalho a ser incluído no processo de remoção de duplicatas como xlYes, como mostrado abaixo.

Código:

 Sub VBARemoveDuplicate2 () Cells.Select ActiveSheet.Range ("A: C"). RemoveDuplicates Columns: = Array (1, 2, 3), Header: = xlYes End Sub 

Etapa 6: Agora compile o código completo e execute. Como podemos ver abaixo, a planilha completa é selecionada, mas os valores duplicados são removidos das colunas A, B e C, mantendo apenas uma contagem exclusiva.

Exemplo # 3 - Remover VBA duplicados

Este é outro método de remover duplicado, que é a maneira mais simples de remover duplicado no VBA. Para isso, usaremos os dados que vimos no exemplo 1 e também mostrados abaixo.

Etapa 1: Agora vá para o VBA e escreva a subcategoria novamente do VBA Remove Duplicates. Nós demos a sequência para cada código que mostramos ter uma trilha adequada.

Código:

 Sub VBARemoveDuplicate3 () End Sub 

Etapa 2: Este é um padrão bastante semelhante ao que vimos no exemplo 2, mas uma maneira de atalho para escrever um código para remover duplicados. Para isso, comece diretamente a selecionar o intervalo da coluna, como mostrado abaixo. Mantivemos o limite até a centésima célula da coluna A, começando de 1 seguido de um ponto (.)

Código:

 SubVBARemoveDuplicate3 () Range ("A1: A100"). End Sub 

Etapa 3: Agora selecione o comando RemoveDuplicates como mostrado abaixo.

Código:

 SubVBARemoveDuplicate3 () Range ("A1: A100"). RemoveDuplicates End Sub 

Etapa 4: Agora selecione as colunas A como com o comando Columns com a sequência de 1. E depois inclua o cabeçalho das colunas selecionadas, bem como mostrado abaixo.

Código:

 Sub VBARemoveDuplicate3 () Range ("A1: A100"). RemoveDuplicates Colunas: = 1, Cabeçalho: = xlSim End Sub 

Etapa 5: Agora compile-o pressionando a tecla F8 e execute. Veremos que nosso código removeu os números duplicados das colunas A e apenas valores exclusivos são pertencentes.

Prós do VBA Remove Duplicates

  • É útil para remover rapidamente as duplicatas em qualquer intervalo de células.
  • É fácil de implementar.
  • Ao trabalhar em um grande conjunto de dados, onde a remoção da duplicata se torna difícil manualmente e trava os arquivos, o VBA Remove Duplicates funciona em um segundo para fornecer valores exclusivos.

Contras de VBA Remove Duplicates

  • Não é benéfico usar o VBA Remove Duplicates para dados muito pequenos, pois isso pode ser feito facilmente pela função Remove Duplicate, disponível na barra de menus Dados.

Coisas para lembrar

  • O intervalo pode ser selecionado de duas maneiras. Uma vez selecionado, o limite de células, como mostrado no exemplo-1, e outro está selecionando a coluna completa até o final, como mostrado no exemplo-1.
  • Verifique se o arquivo está salvo no Excel habilitado para macro, o que nos permitirá usar o código escrito várias vezes sem perdê-lo.
  • Você pode manter o valor da função Header como Yes, pois ele também contará o cabeçalho enquanto remove os valores duplicados. Se não houver valor duplicado com o nome do nome dos cabeçalhos, mantê-lo como Não prejudicará nada.

Artigos recomendados

Este foi um guia para o VBA Remove Duplicates. Aqui discutimos como usar o Excel VBA Remove Duplicates, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Trabalhando com o VBA Active Cell
  2. Excluindo uma linha no VBA
  3. Como usar o Excel VBA Transpose?
  4. Como corrigir o erro 1004 usando o VBA

Categoria: