Notifications
Clear all

Como desenvolver essa formula em vba

8 Posts
3 Usuários
0 Reactions
1,430 Visualizações
(@valdir)
Posts: 0
New Member
Topic starter
 

Boa Tarde Srs. Mestres,

Estou necessitando da ajuda de vocês, quero desenvolver um projeto de leitura e consumo de água individualizada usando o vba Tenho esta formula más não sei desenvolve-la no vba, se alguem puder me ajudar ficarei muito grato.

Formula: Sendo C = Consumo e Va = Valor da água

0< c > 10 m3 Va = 22,38

11 < c > 20 m3 Va = 22,38 + 3,50 x ( c- 10)

21 < c > 30 m3 Va = 22,38 + 3,50 x 10 + 8.75 x ( c -20)

valor cobrado = 2 x Va

Quem pode me ajudar?

Grato, Valdir Monteiro

 
Postado : 10/03/2017 2:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Valdir

Bem-vindo ao fórum!

Movi teu tópico para VBA & Macros, que é o assunto da tua dúvida.
Onde você havia postado, não é permitido postar dúvidas, pois é exclusivo para a apresentação dos novos usuários.

Para facilitar a tua participação, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s

Patropi - Moderador

 
Postado : 10/03/2017 4:18 pm
(@syrax)
Posts: 0
New Member
 

Veja se isso te ajuda

Sub agua()
Dim c, va
c = 10 'valor do consumo
If IsNumeric(c) And c <= 10 Then
va = 22.38
ElseIf IsNumeric(c) = True And c > 10 And c <= 20 Then
va = 22.38 + 3.5 * (c - 10)
ElseIf IsNumeric(c) = True And c > 20 And c <= 30 Then
va = 22.38 + 3.5 * 10 + 8.75 * (c - 20)
va = va * 2
End If
MsgBox va 'retornando valor da água
End Sub

se te ajudar, clique no joinha ao lado de "citar"

 
Postado : 10/03/2017 7:22 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Valdir, fiz uma UDF, para sua pergunta. Atende somente casos onde o consumo é menor que 30m³... Se você definir regras para consumo maior, é só inclur novos ElseIfs

Public Function VALOR_COBRADO(C As Double) As Double
Dim VA As Double
    If C <= 10 Then
        VA = 22.38
    ElseIf C <= 20 Then
         VA = 22.38 + 3.5 * (C - 10)         
    ElseIf C <= 30 Then
        VA = 22.38 + 3.5 * 10 + 8.75 * (C - 20)        
    End If
    
    VALOR_COBRADO = 2 * VA
End Function

Segue um video explicando:

 
Postado : 11/03/2017 9:48 am
(@valdir)
Posts: 0
New Member
Topic starter
 

Syrax
Muito obrigado Mestre!! ficou muito melhor que imaginava
Se possivel gostaria de uma ajuda pra desenvolver num formulario com textbox 1 pra consumo e textbox 2 pra valor cobrado.
Muito Obrigado pela ajuda.

 
Postado : 11/03/2017 6:07 pm
(@valdir)
Posts: 0
New Member
Topic starter
 

Fernando,você realmente é um Mestre parabéns pela aula e pelo vídeo, como sou apenas um cara que tem vontade em apreender e tenho pouca tecnica estou necessitando da ajuda de vocês para inserir esse projeto num formulario com textebox consumo e textebox valor cobrado, desde já agradeço pela disposição em ajudar.

 
Postado : 11/03/2017 6:16 pm
(@syrax)
Posts: 0
New Member
 

Veja se isso te ajuda

Se voce precisa de um userform mais específico diga

se isso te ajudou, clique no joinha ao lado de "citar"

 
Postado : 11/03/2017 10:11 pm
(@valdir)
Posts: 0
New Member
Topic starter
 

Syrax

Mais uma vez meu muito obrigado por essa grande ajuda, fiz algumas mudanças para que o resultado fosse multiplicado por dois até 10 metros e somado com o segundo parametro que vai de 11 a 19 e ficou exatamente como eu queria.
Sem a ajuda de vocês isso não seria possivel, muito obrigado mesmo!
Estou disponibilizando o resultado final, pois sei que será muito util a alguem.

 
Postado : 12/03/2017 11:02 am