Primeiro, porque vc não troca essa parte:
Do While Not IsEmpty(Cells(nLinFim, 1))
nLinFim = nLinFim + 1
Loop
Por essa:
nLinFim = Cells(Rows.Count, 1).End(xlUp).Row
Segundo:
Essa linha:
If Cells(nLinFim - 1, 2).Value = Cells(nLinComp, 2).Value Then
Está buscando a coluna B, e não a coluna A (da pra ver pela imagem que ali tem valores duplicados).
Terceiro, em vez de lopar todas as linhas, pq vc não usa corresp pra ver se o valor já existe?
Chame a função com:
application.WorksheetFunction.Match
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar
Postado : 28/08/2014 3:24 pm