Notifications
Clear all

Calculo com VBA

5 Posts
3 Usuários
0 Reactions
876 Visualizações
(@jorgelira)
Posts: 2
New Member
Topic starter
 

Boa tarde a todos

Sou iniciante em VBA e estou com algumas duvidas. Preciso fazer um calculo usando VBA (Controle de estoque), consegui fazer o calculo porem nao consigo efetuar o calculo no restante das celulas, so consegui fazer na primeira linha, como faço pra estender meu codigo por toda a planilha?

exemplo

A B C
1 10 10 10
2

fiz um calculo e ele acontece perfeitamente porem so na linha 1, pois nao consegui referenciar as outras linhas da planilha, segue abaixo codigo

Public Sub SALDO_ESTOQUE()
Dim PROD As Double
Dim TUNEL As Double
Dim SALDO As Double
Dim SAIDA As Double

PROD = Range("A1").Value
SALDO = Range("C3").Value
SAIDA = Range("D3").Value

TUNEL = (SALDO - SAIDA)
Range("B3").Value = TUNEL
SALDO = (PROD + TUNEL)
Range("C3").Value = SALDO

End Sub

Desde ja agradeço a todos

 
Postado : 19/11/2013 2:16 pm
(@sergio-vilar)
Posts: 11
Active Member
 

Parece algo bem simples que da pra fazer com formula.
Usando VBA da pra fazer com estrutura de repetição (Loop, While, For).

Pode postar o modelo da planilha com algumas informações fictícias?
Facilita o entendimento da sua dúvida.

 
Postado : 19/11/2013 2:20 pm
(@jorgelira)
Posts: 2
New Member
Topic starter
 

Em primeiro lugar obrigado pela atenção

Então não da pra fazer por formula porque a célula se referencia a ela mesma, ja tentei fazer

Assim preciso fazer um controle de estoque então todos os dias ela deve pegar um resultado e jogar em outra celula e fazer um calculo de soma e subtração.

PRODUÇÃO TUNEL SALDO T+P SAIDA
450 450 900 100

todo dia é atualizado o campo saída e o campo produção o calculo deve pegar SALDO T+P - SAÍDA e atualizar no campo TÚNEL e o campo SALDO T+P deve ser o saldo de TÚNEL +PRODUÇÃO. Com o código abaixo ele esta fazendo perfeitamente o calculo, porem so consigo na linha 1, gostaria que ele continuasse fazendo o mesmo calculo nas demais linhas.

 
Postado : 19/11/2013 2:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Seria algo +/- assim; porem deve ser adaptado a estrutura de sua planilha.

Public Sub SALDO_ESTOQUE()
Dim PROD As Double, TUNEL As Double, SALDO As Double, SAIDA As Double
Dim uLinha As Long, x As Long
'Determina a ultima linha da coluna A com dados
uLinha = Cells(Cells.Rows.Count, "A").End(xlUp).Row
'Inicio do Loop - Supondo que a primeira linha e segunda linha sejam informação e cabecalho
For x = 3 To uLinha
    PROD = Range("A" & x - 2).Value
    SALDO = Range("C" & x).Value
    SAIDA = Range("D" & x).Value

    TUNEL = (SALDO - SAIDA)
    Range("B" & x).Value = TUNEL
    SALDO = (PROD + TUNEL)
    Range("C" & x).Value = SALDO
Next
End Sub
 
Postado : 20/11/2013 7:19 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

 
Postado : 23/11/2013 4:30 pm