Somma TextBox con decimali (variabili)

di Anonimizzato25396 il
13 risposte
Salve a tutti,
spero che possiate aiutarmi con il mio problema.
In una userform sono presenti 3 textbox; la terza textbox deve restituire il risultato delle altre due textbox (contenenti numeri decimali che possono variare. Esempio: txt1 2,78, txt2 3,908 il risultato nella textbox3 è 6,688 oppure txt1 8,042, txt2 2,058 il risultato nella textbox3 è 10,1)
Avete qualche suggerimento?
Ringrazio in anticipo per la vostra disponibilità e buona continuazione

13 Risposte

  • Non ho capito ... non sai impostare la somma?
  • Ciao
    Come sicuramente saprai, il valore di ritorno di una TextBox è SEMPRE una stringa. Pertanto devi convertire il dato di ogni TextBox per poi farci l'operazione che vuoi.
    Per quanto riguarda il risultato in TextBox3 io userei la funzione FORMAT dandogli il numero di decimali che deve rappresentare.

    Sempre se ho capito bene la tua domanda.
    Ciao,
    Mario

    PS - Scusa @oregon, mentre scrivevo tu hai risposto ed io non avevo letto.
  • Nessun problema Mario ma non capisco come non si possa nemmeno tentare di scrivere una somma da soli ...
  • Ciao oregon,
    ho fatto in questo modo:
    TextBox3.Value = Val(TextBox1.Value) + Val(TextBox2.Value)
    ma mi restituisce solo i primi numeri, di quelli dopo la virgola non ne tiene conto
  • Non usare Val ma CDbl
  • Non funziona lo stesso, ho provato ma esce questo messaggio "Type mismach" e mi evidenzia tutta la riga.
  • Sicuro di non avere caratteri strani nel textbox? Le impostazioni del formato sono in italiano?
  • Niente ancora..
    Ho provato sia con eventi Change e AfterUpdate con i suggerimenti che mi avete dato e succede questo:
    nell'evento Change mi sottolinea tutta la riga con il messaggio "Type Mismach";
    nell'evento AfterUpdate non succede niente..
    Ho dimenticato di scrivere che in alcune textbox escono numeri interi (2,7,0 ecc) dico "escono" in quanto queste textbox sono il risultato del prodotto di altre textbox..
    Scusatemi per la dimenticanza..
  • Ovviamente le textbox non devono essere vuote. Altrimenti dovrai scrivere

    TextBox3.Value = CDbl("0" & TextBox1.Text) + CDbl("0" & TextBox2.Text)
  • Guarda, non sto riuscendo a risolvere.
    Gentilmente ti chiederei di dare un'occhiata al file di esempio, che ripropone più o meno il mio file originale.
    Le prime textbox hanno già il valore preimpostato come noterai, scrivi un valore numerico nelle seconde textbox ed uscirà il prodotto nelle terze textbox.
    Quelle textbox devono essere addizionate tra loro..
    Grazie mille della pazienza

    Link al file : https://we.tl/t-Ge8HpFPWv
  • Fatto, fatto, fatto ......
    Grazie mille oregon per l'aiuto!
  • Nel codice non hai usato CDbl per tutti e due i textbox

    Ad esempio hai scritto

    Me.TextBox7 = CDbl(Me.TextBox1) * (Me.TextBox4)

    ma deve essere

    Me.TextBox7 = CDbl(Me.TextBox1) * CDbl(Me.TextBox4)
  • Provvedo subito a sistemare
Devi accedere o registrarti per scrivere nel forum
13 risposte