Deixo aqui o codigo que eu estou usando para esse caso, não tenho 100% de crtz que funcione, devido a alguns casos o ID do produto "não existir" ou ter varias duplicatas, só com o tempo para ter certeza do funcionamento mas por enqnt atende a necessidade
Option Explicit
Sub fncCorrecao()
Application.ScreenUpdating = False
On Error GoTo ErrHandler:
Dim cod As Long
Dim A As Variant
Dim endlinha, lin As Long ' contador
Dim wp, wa As Worksheet
Set wp = ThisWorkbook.Worksheets("Consulta")
Set wa = Workbooks.Open(ThisWorkbook.Path & "AliqImportados.XLSX").Worksheets("Plan1")
With wp
endlinha = .Cells(.Rows.Count, "F").End(xlUp).Row
End With
For lin = 2 To endlinha
If wp.Range("L" & lin).Value = 0 Then
cod = wp.Cells(lin, 6).Value
A = Application.WorksheetFunction.VLookup(cod, wa.Range("A:G"), 6, False)
wp.Cells(lin, 16).Value = A
End If
Next lin
wa.Parent.Close False
ErrHandler:
If Err.Number = 1004 Then
A = 0
Resume Next
End If
End Sub
Postado : 18/09/2015 6:13 am