Bom dia a todos! Espero que estejam bem e seguros!
Sou novo no Fórum e com conhecimentos básicos ainda de VBA, o que aprendi aprendi por aqui....então desde já meu muito obrigado!! (Salvaram minha pele....rsrs)
Vamos a dúvida.....
Em meu arquivo, para realização de um processo, utilizo duas abas, o que quero fazer é: para cada linha de transação da aba Sht1, selecione o codigo do fornecedor, localize o numero de cadastro dentro da aba Sht2, procure a proxima linha em branco e preencha com o valor de uma célula
Eis o código:
While vlr1 <= vlr2
If Cells(vlr1, 6) > 0 Then
data_a = Worksheets("Sht1").Range("A" & vlr1).Value
data_b = Application.HLookup(data_a, Sheets("Sht2").Range("B1:ATG37"), Cells(Cells.Rows.Count, 0).End(xlUp).Row + 1, False)
Worksheets("Sht1").Range("A1").Copy
Worksheets("Sht2").data_b.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks _
:=False, Transpose:=False
Application.CutCopyMode = False
vlr1 = vlr1 + 1
Else
vlr1 = vlr1 + 1
End If
Wend
O erro está acontecendo no PROCH
Mais uma vez muito obrigado por todo ensinamento e auxilio!!!
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Função PROCH com linha destino variável
-
- Acabou de chegar
- Mensagens: 5
- Registrado em: Seg Jan 18, 2021 4:57 pm
-
- Acabou de chegar
- Mensagens: 5
- Registrado em: Seg Jan 18, 2021 4:57 pm
Re: Função PROCH com linha destino variável
{Resolvido}!!!!!
Depois de inumeras tentativas consegui botar esse danado para funcionar!
Segue resolução do código:
While vlr1 <= vlr2
If Cells(vlr1, 6) > 0 Then
data_a = Worksheets("Sht1").Range("A" & vlr1).Value
data_b = Worksheets("Sht2").Cells.Find(data_a).Column
data_c = Sheets("Sht2").Cells(Rows.Count, data_b).End(xlUp).Row
Worksheets("Sht2").Cells(data_c + 1, data_b) = Worksheets("Sht1").Range("A1")
vlr1 = vlr1 + 1
Else
vlr1 = vlr1 + 1
End If
Wend
Mais uma vez obrigado pelo ótimo conhecimento transmitido!
Depois de inumeras tentativas consegui botar esse danado para funcionar!
Segue resolução do código:
While vlr1 <= vlr2
If Cells(vlr1, 6) > 0 Then
data_a = Worksheets("Sht1").Range("A" & vlr1).Value
data_b = Worksheets("Sht2").Cells.Find(data_a).Column
data_c = Sheets("Sht2").Cells(Rows.Count, data_b).End(xlUp).Row
Worksheets("Sht2").Cells(data_c + 1, data_b) = Worksheets("Sht1").Range("A1")
vlr1 = vlr1 + 1
Else
vlr1 = vlr1 + 1
End If
Wend
Mais uma vez obrigado pelo ótimo conhecimento transmitido!