- 22 Mar 2021 às 14:52
#63110
Estou a construir um codigo como podem ver na folha abaixo.
ultlinha = Range("h100000").End(xlUp).Row
For linha = 2 To ultlinha
pvp = Cells(linha, 8)
If pvp = "preço livre" Then
apagalinha = Cells(linha, 8).Row
Rows(apagalinha).ClearContents
ElseIf Cells(linha, 8).Value <> "" Then
Cells(linha, 11) = calculapva(Cells(linha, 8))
Cells(linha, 12) = escalao(Cells(linha, 8))
ElseIf Cells(linha, 10).Value <> "" Then
cnp = Sheets(1).Cells(linha, 1).Value
Sheets(2).Activate
pvpmax = WorksheetFunction.VLookup(cnp, Range("A1:B287"), 2, 0)
Sheets(1).Activate
Cells(linha, 9) = pvpmax
Cells(linha, 11) = pvanot(Cells(linha, 9), Cells(linha, 10))
End If
Next
no entanto correndo a formula passo a passo no F8, o valor da variavel pvpmax fica sempre iguar a zero, para testar copiei para outro modulo, apenas a formula do vlookup ( Modulo 2) e lá a formula devolve o valor correcto.
O que se passa?
ultlinha = Range("h100000").End(xlUp).Row
For linha = 2 To ultlinha
pvp = Cells(linha, 8)
If pvp = "preço livre" Then
apagalinha = Cells(linha, 8).Row
Rows(apagalinha).ClearContents
ElseIf Cells(linha, 8).Value <> "" Then
Cells(linha, 11) = calculapva(Cells(linha, 8))
Cells(linha, 12) = escalao(Cells(linha, 8))
ElseIf Cells(linha, 10).Value <> "" Then
cnp = Sheets(1).Cells(linha, 1).Value
Sheets(2).Activate
pvpmax = WorksheetFunction.VLookup(cnp, Range("A1:B287"), 2, 0)
Sheets(1).Activate
Cells(linha, 9) = pvpmax
Cells(linha, 11) = pvanot(Cells(linha, 9), Cells(linha, 10))
End If
Next
no entanto correndo a formula passo a passo no F8, o valor da variavel pvpmax fica sempre iguar a zero, para testar copiei para outro modulo, apenas a formula do vlookup ( Modulo 2) e lá a formula devolve o valor correcto.
O que se passa?
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por foliveir em 22 Mar 2021 às 19:03, em um total de 1 vez.