Notifications
Clear all

Preencher a Coluna “C” com intervalos alternados números e vazios - excel_vba

4 Posts
3 Usuários
0 Reactions
1,221 Visualizações
(@divinors)
Posts: 23
Eminent Member
Topic starter
 

Tenho um multiplicador na célula H1 que vai ser utilizado para aplicar um desconto em todas as células da coluna C. Acontece que na coluna C tem células com números e células vazias.

Sub Preencher()

Dim linha As Long

linha = 11

While Range("C" & linha).Value <> ""

Range("C" & linha).Value = Range("C" & linha).Value - (Range("C" & linha).Value * Range("H1").Value)

linha = linha + 1

Wend

End Sub

 

 
Postado : 09/10/2020 2:32 pm
(@anderson)
Posts: 203
Reputable Member
 
Sub Preencher()

Dim linha As Long

for linha = 11 to plan2.usedrange.rows.count

if plan2.Range("C" & linha).Value <> "" then
if isnumeric(plan2.Range("C" & linha).Value) then
plan2.Range("C" & linha).Value = plan2.Range("C" & linha).Value - (plan2.Range("C" & linha).Value * plan2.Range("H1").Value)

end if
end if

next linha

End Sub
Este post foi modificado 4 anos atrás por Anderson

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 09/10/2020 3:26 pm
(@divinors)
Posts: 23
Eminent Member
Topic starter
 

@anderson

Boa tarde..

Fantástico!!! Obrigado.!!!!

 

 
Postado : 09/10/2020 3:43 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Abordagem alternativa:

Sub AplicarDesconto()
[H1] = 1 - [H1]: [H1].Copy
[C:C].SpecialCells(xlCellTypeConstants, xlNumbers).PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
[H1] = 1 - [H1]
Application.CutCopyMode = False
End Sub

 

 
Postado : 09/10/2020 4:24 pm