Ir para conteúdo
  • 0
Mário Martinell

[Resolvido] Soma Textbox VBA Excel

Pergunta

Pessoal, bom dia.

 

Estou tentando somar alguns valores com casas decimais que é resultado de cálculo de juros para uma textbox. Consegui fazer conforme abaixo, porém, o resultado não está considerando os valores após a virgula. Por gentileza, alguém poderia me ajudar? Obrigado!

Dim Vl1 As Double
Dim Vl2 As Double
Dim Vl3 As Double
Dim Vl4 As Double
Dim Vl5 As Double
Dim Vl6 As Double
Dim vl7 As Double
Dim vl8 As Double
Dim Soma As Double
Vl1 = val(TextBox46.text)
Vl2 = val(TextBox47.text)
Vl3 = val(TextBox48.text)
Vl4 = val(TextBox49.text)
Vl5 = val(TextBox50.text)
Vl6 = val(TextBox51.text)
vl7 = val(TextBox52.text)
vl8 = val(TextBox53.text)

Soma = Vl1 + Vl2 + Vl3 + Vl4 + Vl5 + Vl6 + vl7 + vl8
TextBox56.Value = Soma

 

Editado por quintelab
Adicionado BBCode

Compartilhar este post


Link para o post
Compartilhar em outros sites

3 respostas a esta questão

Recommended Posts

  • 0

O problema está no val:

 

Citar

The VAL function will stop reading the string once it encounters the first non-numeric character. This does not include spaces.

 

Quando encontra a virgula, para por ali. Tente usar CDbl no lugar de val

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Obrigado quintelab....

Deu certo a soma, exceto pq agora está somando o valores sem considerar as pontuações.

 

Dim Soma As Double
Soma = CDbl(TextBox46.text) + CDbl(TextBox47.text) + CDbl(TextBox48.text) + CDbl(TextBox49.text) + CDbl(TextBox50.text) + CDbl(TextBox51.text) + CDbl(TextBox52.text) + CDbl(TextBox53.text)
TextBox56.Value = Soma

 

Tive que converter para decimal americano para o Cdbl funcionar também, mas agora ele soma como se os valores fossem números inteiros.

 

Por exemplo:

 

textbox46 = 248.8

textbox47 =  250.1

total = 498.90

 

o resultado está dando = 4989

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Obrigado. Deu certo, alterei de Cdbl para CCur e os valores estão sendo somados corretos. Isto sem a necessidade de conversão para decimal americano.

 

Dim Soma As Double
Soma = CCur(TextBox46.text) + CCur(TextBox47.text) + CCur(TextBox48.text) + CCur(TextBox49.text) + CCur(TextBox50.text) + CCur(TextBox51.text) + CCur(TextBox52.text) + CCur(TextBox53.text)
TextBox56.Value = Soma

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por FIM1999
      Preciso montar um sistema para geração automática de carteirinha para membros de um clube de benefícios. Alguém já tem alguma codificação pronta para isso?
      Ou então sabe como fazer?
    • Por Jhonata Candido
      Bom dia amigos,
       
      Não consigo imprimir na tela o resultado da consulta. Direto no banco o resultado é exibido, porém com o código abaixo não consigo exibir na tela. O que estou fazendo de errado?
       
              <?php                $sql_pagamento = "SELECT SUM(montante_pago) AS valor from dados INNER JOIN agenda ON 'dados.fornecedor' = '$fornecedor' AND 'dados.dt_execucao_prog' > '$lancamento'";                $query_pagamento = mysql_query($sql_pagamento);                while ($exibir = mysql_fetch_array($query_pagamento)){                    echo $exibir['valor'];                 }         ?>  
    • Por Leo_2019
      Sou novato em access e vba. Estou utilizando uma textbox e gostaria de colar vários nomes na textbox e ao clicar no botão salvar gostaria que fosse inserido todos os valores na tabela, sendo cada nome como um registro, ou seja, incluir em lote ao invés de um por um. Se existir outra forma diferente da textbox também é válido. Tal propósito é devido um sistema de novos colaboradores que tenho que criar. Já criei 80%, mas está faltando essa parte, uma vez que, tentei de várias formas mas não consegui e estou precisando muito dessa ajuda. Tentei inserir a imagem do código que eu fiz, mas não foi possível devido ao tamanho. Desde já agradeço.
    • Por sheepziiin
      Boa tarde colegas !
      Estou quebrando a cabeça com um job para tratamento de logradouros. Segue o raciocínio:  
      Tenho uma lista com todos os endereços do estado de São Paulo, onde os mesmos são extraídos da seguinte forma:
       
      Exemplo:
      AL-AFONSO SCHMIDT/CDM:ED. SOPHIS SANTANA_COM PRUMADA/BLC:A-555-AP - Apartamento: 61 A AL-ANAPURUS/EDI:BOULEVARD/BLC:A-777-AP - Apartamento: 131 AL-ARAPANES/EDI:CDOE,6-5ºANDAR-309-AP - Apartamento: 42 AL-ARAPANES/EDI:COND.ED.MOEMA DUPLEX LIFE-1142-AP - Apartamento: 102 AL-ARAPANES/EDI:COND.ED.MOEMA DUPLEX LIFE-1142-AP - Apartamento: 42 AL-ARAPANES/EDI:PARC BRUMENADI-982-AP - Apartamento: 191 AL-BARROS/EDI:PERVAL-186-AP - Apartamento: 1601 AL-BARROS/EDI:PERVAL-186-BL - Blocos: B AP - Apartamento: 1302 AL-CAETANO,S/CDM:ED. GIARDINO_CDOE_1_ANDAR_11 A 13-165-AP - Apartamento: 63 AL-CAETANO,S/EDI:ESPLENDOR-1234-AP - Apartamento: 71 AL-CAETANO,S/EDI:MAGENTA I_CDOE_1_ANDAR_7 A 10-2575-AP - Apartamento: 94 AL-CALCUTA-195-AP - Apartamento: 02 AL-CAMPESTRE-728-CS - Casa: 1 AL-CASA BRANCA/CDM:BRISTOL-851-CJ - Conjunto: 11 AN - Andar: 01 AL-CASA BRANCA/CDM:SAINT SIMON-667-AP - Apartamento: 11
      Notem que os casos "não tem um padrão" (até tem por tipo de residencia). Utilizei inúmeras postagens aqui do fórum e consegui solucionar os casos para residencias (padrão TIPO_LOG;LOG;COMPL;NUM), no entanto as formulas e soluções aqui indicadas por vocês "param" na primeira sequencia numérica, entretanto para a maioria dos casos, o texto continua com letras, números e caracteres.
       
      Segue o padrão final que preciso chegar.
      Exemplo: AL-AFONSO SCHMIDT/CDM:ED. SOPHIS SANTANA_COM PRUMADA/BLC:A-555-AP - Apartamento: 61 A
      Resultado Tratado: AFONSO SCHMIDT 555
       
      Desde de já muito obrigado pelos retornos que certamente virão.
    • Por Maykel dos Santos Figueire
      Gostaria de saber como faço para somar um valor já existente em um campo com um novo vindo através do method POST e somar os dois armazenando o resultado...
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.