Excel - Compare duas colunas e exclua duplicatas
- 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.