Denilson, sou obrigado a concordar com a colocação do Ed, a função dos Foruns, como você mesmo especificou, é para "tirar duvidas", e isto quer dizer que alguem tem alguma duvida em relação a alguma rotina que criou ou está adaptando e esta dando erro, e a intensão é sempre procurar mostrar um caminho por onde começar, e sempre a primeira opção é orientar que se pesquise no forum, pois geralmente existem duvidas semelhantes ou que chegam bem próximo ao solicitado, e nem sempre da para enviar uma solução devido a falta de detalhes, e a segunda opção, se enviar um modelo com a rotina que estiver utilizando procurar ajusta-la e por último criar do "zero", as vezes fazemos isto por uma duvida simples, mas como as ajudas são voluntárias, e depende de tempo disponivel, nem sempre é possível, e lembre-se que estamos em festividades, então deveria ter agradecido por ter tido respostas.
Antecipo minhas desculpas se fui grosseiro, não é esta a intensão, mas fico chateado, qdo cobram ou reclamam por ajudas voluntárias.
Voltando a sua questão, e uma vez que colocou um modelo com a rotina que não está funcionando corretamente, troque pela a abaixo e faça os testes se é isto mesmo :
Analise, e veja que deixei uma linha comentada, só para ficar mais fácil o entendimento da instrução :
'Range("c" & ActiveCell.Row).Value = Application.WorksheetFunction.VLookup(Plan1.Range("A" & ActiveCell.Row).Value, Plan2.Range("A1:AS650000"), 6, False)
'Range("c") é representado pelo 3, que é a coluna a ser inserida o retorno e o "6" no final é a coluna que estamos pesquisando
Cells(lin, 3) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 6, 0)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Range As Worksheet
ultimalinha = Plan1.Cells(Rows.Count, "a").End(xlUp).Row
item = Target.Value 'Valor Digitado
lin = Target.Row 'LINHA DIGITADA
If Plan1.Cells(Rows.Count, "a").End(xlUp).Row > 0 Then 'digitar o numero da Ordem de produção na coluna A
Application.EnableEvents = False 'desabilita temporariamente o evento até retornar para "TRUE"
'Range("c" & ActiveCell.Row).Value = Application.WorksheetFunction.VLookup(Plan1.Range("A" & ActiveCell.Row).Value, Plan2.Range("A1:AS650000"), 6, False)
Cells(lin, 3) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 6, 0)
Cells(lin, 6) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 11, 0)
Cells(lin, 7) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 13, 0)
Cells(lin, 8) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 5, 0)
Cells(lin, 9) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 4, 0)
Cells(lin, 10) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 16, 0)
Cells(lin, 15) = Application.VLookup(item, Sheets("PEDIDOS").Range("A2:" & "AM" & ultimalinha), 17, 0)
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 25/12/2015 11:21 pm