Olá pessoal,
Por favor, se alguém poder dar um Help:
Tenho uma planilha com uma aba Tabela de Preços ( Coluna A - Código / Coluna B - Preço / Coluna C - Data Inicial / Coluna D - Data Final )
Em outra aba Entrada ( Coluna A - Código / Coluna B - Preço / Coluna C - Data de Emissão )
Gostaria que na coluna B da tabela de entrada busque o preço na Tabela de Preços porém dentro do intervalo da data Inicial e data final conforme data de emissão da nota.
* Na tabela de Preço, pode ter mais de uma vez o mesmo código com intervalo de data inicial e final diferente.
* Na tabela de Entrada teremos o código repetido, tendo a data de emissão igual ou diferente.
Caso não tenha informação dentro deste intervalo para este código, apresente a mensagem na célula ( Sem preço ).
Tenho o código abaixo, porém se na tabela Entrada, tem o mesmo código com período diferente ele não encontra.
Ele encontra somente o primeiro periodo na tabela de preços.
Segue abaixo, mas se quiserem alterar tudo, sem problemas.
Dim lin As Long, i As Long, data_f As Date, data_i As Date
Sub procv()
ThisWorkbook.Activate
Sheets("Entrada").Select
Range("A64000").Select
Selection.End(xlUp).Select
lin = ActiveCell.Row
For i = 2 To lin
data_f = Application.WorksheetFunction.VLookup(Range("A" & i), Sheets("Tabela de Preços").Range("A:D"), 4, 0)
data_i = Application.WorksheetFunction.VLookup(Range("A" & i), Sheets("Tabela de Preços").Range("A:D"), 3, 0)
If Cells(i, 3).Value >= data_i And Cells(i, 3).Value <= data_f Then
Cells(i, 2).Value = Application.WorksheetFunction.VLookup(Range("A" & i), Sheets("Tabela de Preços").Range("A:D"), 2, 0)
Else
Cells(i, 2).Value = "Sem Preço"
End If
Next i
End Sub
Postado : 09/04/2014 11:09 am