Excel - Compare duas colunas e exclua duplicatas

Operações matemáticas ou lógicas não podem ser feitas manualmente em planilhas do Excel que contêm grandes quantidades de dados, pois levaria muito tempo. Mas o Excel é um eficiente software de escritório que permite que os dados sejam automaticamente manipulados, através de uma macro ou um código de programa VBA. Para comparar duas colunas e excluir duplicatas no Excel, uma macro pode ser escrita para fazer uma comparação lógica ou matemática das colunas. e remova as linhas que contêm dados duplicados. Uma macro do Excel bem escrita pode realizar a tarefa com rapidez e precisão. É fácil comparar duas colunas e excluir duplicatas no Excel.

  • Questão
  • Solução
  • Nota

Questão

Eu preciso de uma macro para uma planilha do Excel que irá comparar linhas com base em duas células e encontrar quaisquer duplicatas.

Neste exemplo, as duas primeiras colunas - A e B - são aquelas que devem ser exclusivas. A macro deve apenas sinalizar as linhas que são uma correspondência perfeita nas duas colunas. Portanto, neste exemplo, apenas a quinta linha deve ser sinalizada, pois é uma correspondência exata para a acima.

Exemplo:

 Col A Col Col Col Col D 00001 AAAA1 xxxx aaaa 00001 BBBB1 xxxx xxxx 00001 BBBB2 aaaa aaaa1 AAAA1 AAAA1 xxxx AAAA1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 

Solução

Esta solução irá alterar os dados em sua planilha, portanto, salve uma cópia de backup.

Em primeiro lugar, você precisa combinar os dados nas colunas A e B para que possam ser comparados como um todo. Para fazer isso, digite em uma célula vazia no final da primeira linha de dados (neste exemplo, estamos usando a linha 2 - altere conforme necessário):

 = A2 e B2 

Copie essa fórmula para toda a planilha.

Agora, execute a macro abaixo. Nesse código de exemplo, presume-se que você escreveu a fórmula acima na coluna E. Altere o código conforme necessário.

Aviso: essa macro excluirá linhas, por isso, é importante certificar-se de que você fez a cópia da cópia de backup antes de testá-la.

 Sub texto () Dim j As Integer, k Como Integer, r Como Range j = Range ("E2"). End (xlDown) .Row Para k = j Para 2 Step -1 MsgBox k Definir r = Range (Cells (k, "E"), Células (k, "E"). End (xlUp)) Se WorksheetFunction.CountIf (r, Células (k, "E"))> 1 Então Células (k, "E"). EntireRow. Apagar Fim Se Próximo k End Sub 

Nota

Graças a venkat1926 por esta dica no fórum.

Artigo Anterior Próximo Artigo

Principais Dicas