Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Função PROCH com linha destino variável

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
DehCarneiro
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Seg Jan 18, 2021 4:57 pm

Função PROCH com linha destino variável

Mensagem por DehCarneiro »

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!!!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


DehCarneiro
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Seg Jan 18, 2021 4:57 pm

Re: Função PROCH com linha destino variável

Mensagem por DehCarneiro »

{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!


Responder