Baseando na rotina do link abaixo :
VBA to compare values in two columns, and copy the row of missing values to a new worksheet
http://stackoverflow.com/questions/2392 ... es-to-a-ne
Fazendo uns ajustes temos a seguinte rotina, e como citou uma qde de 3.000 linhas não acho conveniente relacionar todos em um MsgBox, então deixei desabilitado e é feito uma relação em outra aba.
Sub compareDuasColunas()
Dim lastRowA As Integer
Dim lastRowG As Integer
Dim lastRowM As Integer
Dim foundTrue As Boolean
Dim X As Integer
' stop screen from updating to speed things up
Application.ScreenUpdating = False
lastRowA = Sheets("Plan1").Cells(Sheets("Plan1").Rows.Count, "A").End(xlUp).Row
lastRowG = Sheets("Plan1").Cells(Sheets("Plan1").Rows.Count, "G").End(xlUp).Row
lastRowM = Sheets("Plan2").Cells(Sheets("Plan2").Rows.Count, "B").End(xlUp).Row
X = 1
For i = 2 To lastRowA
foundTrue = False
For j = 2 To lastRowG
If Sheets("Plan1").Cells(i, 1).Value = Sheets("Plan1").Cells(j, 7).Value Then
foundTrue = True
Exit For
End If
Next j
If Not foundTrue Then
'Mensagem de cada numero faltante
'MsgBox X & "º" & " Numero faltante" & Sheets("Plan1").Cells(i, 1).Value
'X = X + 1
'Relaciona na Plan2 os numeros faltantes
Sheets("Plan1").Cells(i, 1).Copy Destination:=Sheets("Plan2").Cells(lastRowM, 1) 'Rows(lastRowM)
lastRowM = lastRowM + 1
End If
Next i
' stop screen from updating to speed things up
Application.ScreenUpdating = True
End Sub
Faça os teste e veja se é isto.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 24/05/2015 1:13 pm