MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Fazer soma em VBA com centavos

    avatar
    JFrancisco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 08/12/2015

    [Resolvido]Fazer soma em VBA com centavos Empty [Resolvido]Fazer soma em VBA com centavos

    Mensagem  JFrancisco 8/12/2015, 21:19

    Sou principiante em programação e iniciei meus estudos em VBA. Fiz um userform que nele se encontra valores. Por exemplo a quantidade de cédulas e moedas. Em um textbox você coloca a quantidade de moedas e no outro aparece o resultado da multiplicação. E ao final é somado todos os textbox. Acontece que a soma não aparece os centavos, ou seja o calculo de 1 moeda de 0,01 + 1 moeda de 0,25 e mais 1 moeda de 1,00, o resultado deveria ser 1,26, na soma aparece 1,00. Já declarei a variável como double. Já formatei como format(textbox1, "0.00"). Como fazer para somar corretamente?
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 800
    Registrado : 30/08/2010

    [Resolvido]Fazer soma em VBA com centavos Empty Re: [Resolvido]Fazer soma em VBA com centavos

    Mensagem  gilberlanio 8/12/2015, 21:50

    Seu campo na tabela está formatado dessa forma?

    [Resolvido]Fazer soma em VBA com centavos 23jhbfa
    avatar
    JFrancisco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 08/12/2015

    [Resolvido]Fazer soma em VBA com centavos Empty Fazer soma em VBA com centavos

    Mensagem  JFrancisco 9/12/2015, 11:54

    Gilberlânio, bom dia!
    Muito obrigado pelo teu interesse. Acontece que esse userform só tem a função de mostrar os resultados na tela, ou seja, o sistema que estou desenvolvendo é um protótipo de um controle de caixa. A pessoa faz o lançamento e o saldo vai aparecendo em uma label. O sistema já está rodando, faltando alguns ajustes. Então eu pensei em fazer uma tela em que o usuário colocasse as quantidades de cédulas que ele tem em mãos e o sistema verifica o saldo do caixa e dá a soma dos valores em cédulas e moedas, indicando ao final em outra label, se o valor em espécie está igual ao do saldo de caixa. Deu para entender?
    walisilva
    walisilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    [Resolvido]Fazer soma em VBA com centavos Empty Re: [Resolvido]Fazer soma em VBA com centavos

    Mensagem  walisilva 9/12/2015, 12:10

    Se você está calculando no VBA, use Cdbl() nos campos para convertê-los para Duplo ou Double.


    .................................................................................
    --
    Walison Silva Cool
    avatar
    JFrancisco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 08/12/2015

    [Resolvido]Fazer soma em VBA com centavos Empty Re: [Resolvido]Fazer soma em VBA com centavos

    Mensagem  JFrancisco 9/12/2015, 15:01

    Walisilva, bom dia!
    Veja a codificação abaixo. Fiz as alterações propostas por você e mesmo assim quando mando calcular não aparecem os centavos. O sistema pega cada quantidade de moedas e multiplica pelo seu valor e o resultado só apresenta o valor sem os centavos.

    Public Sub CommandButton1_Click()

       Dim cedula2, cedula5, cedula10, cedula20, cedula50, cedula100 As Double
       Dim moeda01, moeda05, moeda10, moeda25, moeda50, moeda1 As Double
       Dim cedulas, moedas As Double
       Dim saldototal As Double

       cedula2 = 2
       cedula5 = 5
       cedula10 = 10
       cedula20 = 20
       cedula50 = 50
       cedula100 = 100

       moeda01 = 0.01
       moeda05 = 0.05
       moeda10 = 0.1
       moeda25 = 0.25
       moeda50 = 0.5
       moeda1 = 1

       saldo = 0

       TextBox7 = CDbl(TextBox1 * cedula2)
       TextBox8 = CDbl(TextBox2 * cedula5)
       TextBox9 = CDbl(TextBox3 * cedula10)
       TextBox10 = CDbl(TextBox4 * cedula20)
       TextBox11 = CDbl(TextBox5 * cedula50)
       TextBox12 = CDbl(TextBox6 * cedula100)

       TextBox15 = CDbl(TextBox14 * moeda01)
       TextBox16 = CDbl(TextBox17 * moeda05)
       TextBox18 = CDbl(TextBox19 * moeda10)
       TextBox20 = CDbl(TextBox21 * moeda25)
       TextBox22 = CDbl(TextBox23 * moeda50)
       TextBox24 = CDbl(TextBox25 * moeda1)

       cedulas = CDbl(Val(TextBox7.Text) + Val(TextBox8.Text) + Val(TextBox9.Text) + Val(TextBox10.Text) + Val(TextBox11.Text) + Val(TextBox12.Text))
       moedas = CDbl(Val(TextBox15.Text) + Val(TextBox16.Text) + Val(TextBox18.Text) + Val(TextBox20.Text) + Val(TextBox22.Text) + Val(TextBox24.Text))

       TextBox13 = CDbl(cedulas)
       TextBox26 = CDbl(moedas)

       Label24 = CDbl(Label3 - cedulas - moedas)

    End Sub


    Private Sub CommandButton2_Click()

       Unload frmCONTROLE
       frmContabilidade.Show

    End Sub

    Public Sub UserForm_Initialize()
       saldo_inicial = Plan2.Range("c2")
       receitas = WorksheetFunction.SumIf(Plan1.Range("c2:c10000"), Plan1.Range("I20"), Plan1.Range("e2:e100000"))
       despesas = WorksheetFunction.SumIf(Plan1.Range("c2:c10000"), Plan1.Range("I21"), Plan1.Range("e2:e100000"))
       saldo_final = saldo_inicial + receitas - despesas

       frmCONTROLE.Label3.Caption = Format$(saldo_final, "R$ ##,##0.00")


    End Sub

    Onde está o erro?
    walisilva
    walisilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    [Resolvido]Fazer soma em VBA com centavos Empty Re: [Resolvido]Fazer soma em VBA com centavos

    Mensagem  walisilva 9/12/2015, 16:02

    Use o Cdbl() em cada campo do form individualmente conforme exemplo abaixo:

    Código:
    TextBox7 = CDbl(TextBox1) * CDbl(cedula2)


    .................................................................................
    --
    Walison Silva Cool
    avatar
    JFrancisco
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 08/12/2015

    [Resolvido]Fazer soma em VBA com centavos Empty Re: [Resolvido]Fazer soma em VBA com centavos

    Mensagem  JFrancisco 10/12/2015, 10:50

    Walison Silva, bom dia!

    Fiz e deu resultado positivo. Muito obrigado a você e a todos que me ajudaram.

    abraços

    JFrancisco
    walisilva
    walisilva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    [Resolvido]Fazer soma em VBA com centavos Empty Re: [Resolvido]Fazer soma em VBA com centavos

    Mensagem  walisilva 11/12/2015, 14:29

    Very Happy

    É um prazer imenso poder colaborar com o fórum! Até mais.


    .................................................................................
    --
    Walison Silva Cool

    Conteúdo patrocinado


    [Resolvido]Fazer soma em VBA com centavos Empty Re: [Resolvido]Fazer soma em VBA com centavos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 06:03