Olá galera!
Tenho uma planilha no Excel que verifica entre duas pastas de trabalho se existem valores duplicados, se sim ela deveria excluir a linha da pasta que está sendo comparada.
Porém ela está excluindo somente a célula e não a linha, o que está dando problema, exemplo.
Base
Lapis - 10
Caderno - 20
Caneta -30
Comparada
Lapis - 10
Caderno - 20
Lapiseira - 30
Ao executar ele apaga a celula LAPIS e CADERNO, fazendo com que Lapiseira assuma a posição com quantidade 10, incorreto! Preciso que ele apague a linha toda.
Segue o código bem simples.
Sub teste()
Dim iListCount As Integer
Dim iCtr As Integer
'Desligue a atualização da tela para acelerar a macro.
Application.ScreenUpdating = False
'Obter contagem de registros para pesquisar (lista que será excluída).
iListCount = Sheets("teste2").Range("A2:A10").Rows.Count
'Percorra através da lista "mestre".
For Each x In Sheets("teste1").Range("A2:A10")
'Percorra todos os registros na segunda lista.
For iCtr = 1 To iListCount
'Faça comparação do próximo registro.
'Para especificar uma coluna diferente, altere 1 para o número da coluna.
If x.Value = Sheets("teste2").Cells(iCtr, 1).Value Then
'Se a correspondência for verdadeira, exclua a linha.
Sheets("teste2").Cells(iCtr, 1).Delete xlShiftUp
' Sheets("teste2").Rows(iCtr, 1).Delete xlShiftUp
'Incrementar contador para considerar a linha excluída.
iCtr = iCtr + 1
End If
Next iCtr
Next
Application.ScreenUpdating = True
MsgBox "beleza, o anúncios repetidos de DalilaMix foram limpos, vamos para o próximo?"
End Sub