Bom dia, estou utilizando uma codificação no VBA para comparar valores e no final caso batam o valor de um "Range" será colocado no correspondente da planilha atual
isso é só uma parte do codigo, mas é a que eu precisava entender o motivo do não funcionamento
Sub fncConsulta()
Application.ScreenUpdating = False
Dim lngPedido, lngLastPedido, lngLastPF As Long
Dim R As Long 'Contadores
Dim X As Variant
Dim cod, FIL, FILEN, CD, CDEN As Long
Dim wp, wksPF As Worksheet
Set wp = ThisWorkbook.Worksheets("Consulta")
Set wksPF = Workbooks.Open(ThisWorkbook.Path & "PosicaoFiliaisCD.XLSX").Worksheets("Plan1")
With wp
lngLastPedido = .Cells(.Rows.Count, "F").End(xlUp).Row
End With
With wksPF
lngLastPF = .Cells(.Rows.Count, "T").End(xlUp).Row
End With
For lngPedido = 4 To lngLastPedido
FIL = wp.Range("A" & lngPedido).Value
FILEN = wp.Range("E" & lngPedido).Value
CD = wp.Range("B" & lngPedido).Value
CDEN = wp.Range("F" & lngPedido).Value
cod = wp.Cells(lngPedido, 13).Value
'Descrição
X = Application.WorksheetFunction.VLookup(cod, wksPF.Range("S:T"), 2, False)
wp.Cells(lngPedido, 14).Value = X
'Família
For R = 2 To lngLastPF
If wksPF.Cells(R, 9).Value = FIL Then
'VERIFICA COM A FILIAL
If wksPF.Cells(R, 12).Value = CD Then
'VERIFICA COM CD
If wksPF.Cells(R, 19).Value = cod Then
'VERIFICA O CODIGO
wp.Cells(lngPedido, 16).Value = wksPF.Cells(R, 23).Value
'COLOCA PARA RETORNAR A COLUNA 16
End If
End If
End If
Next R
Next lngPedido
wksPF.Parent.Close False
End Sub
Para varios codigos está funcionando normal, porem alguns simplesmente são "ignorados" ou algo parecido, no caso o range correspondente fica sem nada, como se na planilha PosicaoFiliaisCD não tivesse nada la...
Postado : 12/02/2016 7:35 am