SEPARATORE MIGLIAIA IN TEXTBOX



  • SEPARATORE MIGLIAIA IN TEXTBOX
    di Roby (utente non iscritto) data: 23/04/2014 13:17:53

    Buongiorno, ho un problema con con il separatore delle migliaia sommando delle textbox in un form; formattando la textbox TextBox3 = Format(TextBox3, "#,##0") il punto lo riconosce come la virgola. Quindi se nella prima text box ho 1.000 e nella seconda ho 10 come risultato ho 11 e non 1.010
    Allora ho provato ad invertire i segni nel seguente modo ma non sono riuscito ad ottenere nulla.
    Chi mi puo aiutare, grazie.
    Allego il file di esempio.
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean) ''chiude e Ripristina dati standar
         With Application
            .DecimalSeparator = ","
            .ThousandsSeparator = "."
            .UseSystemSeparators = True
        End With
    End Sub
    
    ''ThisWorkbook
    Private Sub workbook_open()
       With Application
            .DecimalSeparator = "."
            .ThousandsSeparator = ","
            .UseSystemSeparators = False
        End With
    End Sub



  • di nichicanta (utente non iscritto) data: 23/04/2014 13:26:09

    Ciao Roby, formatta cosi le textbox e vedi se risolvi il problema:
    TextBox3 = "€ " & Format(TextBox3, "#,##0.00")' se vuoi il simbolo dell'euro davanti alle cifre
    TextBox3 = Format(TextBox3, "#,##0.00")



  • di Roby (utente non iscritto) data: 23/04/2014 14:34:46

    è proprio formattando così la text box che ho il problema, dovrei fare il contrario ma non so come, sigh.



  • di nichicanta data: 23/04/2014 15:12:14

    Prova il file che ti ho allegato e che si chiama "prova migliaia".
    N.b. ho creato 3 textbox ed effettuo la somma dei valori inseriti, compilale tutte e tre, poichè ho notato che il codice si blocca se non risultano comilate tutte tre, io mi sono solo soffermato a risolvere la tua problematica e non altro ecc..
    fammi sapere, ciao.



  • di nichicanta data: 23/04/2014 15:14:05

    Apri l'editor di VBA con ALT+F11 e lancia la Userform1, prova il tutto e fammi sapere.



  • di Roby (utente non iscritto) data: 23/04/2014 15:44:20

    ciao nichicanta, non riesco a capire come posso integrare ill codice nel mio prog.



  • di nichicanta data: 23/04/2014 15:50:08

    Io mi sono basato solo su questo che tu hai postato:
    Buongiorno, ho un problema con con il separatore delle migliaia sommando delle textbox in un form; formattando la textbox TextBox3 = Format(TextBox3, "#,##0") il punto lo riconosce come la virgola. Quindi se nella prima textbox ho 1.000 e nella seconda ho 10 come risultato ho 11 e non 1.010
    Allora ho provato ad invertire i segni nel seguente modo ma non sono riuscito ad ottenere nulla.
    Per il tuo file (anch'io non ho capito come applicare quello che ti ho postato), spiegati meglio, fornisci tutti i dettagli in modo che si lavori una sola volta e bene.
    Ti saluto.



  • di Roby (utente non iscritto) data: 23/04/2014 16:05:35

    Ciao, se esegui il programma che ho allegato capisci meglio, praticamente se nella textbox "valore2" ho un numero con il separatore delle migliaia(1.000) e se vado a sommare un numero digitandolo nella text box 4 ad es (10): nella textbox 5 dovrei avere la somma (1.010), invece ottengo (11) perchè il mille della prima text box viene considerato dal sistema 1 invece di mille, spero di esser stato + chiaro. ciao e grazie comunque



  • di nichicanta data: 23/04/2014 16:22:51

    Ma i dati nelle textbox li devi inserire tu e poi fare la somma nella textbox5, perchè se cosi fosse è facile applicare ciò al tuo file, fammi sapere.



  • di Roby (utente non iscritto) data: 23/04/2014 16:32:43

    Io inserisco un valore nella textbox4 e il programma fa la somma nella textbox 5 con il valore che c'è nella textbox 2 che a sua volta è il prodotto di altre due textbox (la 1 e la 3).
    come vedi è un po complicato.



  • di nichicanta data: 23/04/2014 16:41:37

    Prova il file che ho rinominato "prova migliaia", ho eseguito ciò che tu mi fai capire e funziona ( mi riferisco alla somma nella textbox 5 nel formato valuta che tu desideri).
    fammi sapere.



  • di nichicanta data: 23/04/2014 17:00:56

    Ciao Roby, sto facendo dele prove sul tuo file, ho capito il funzionamento, dimmi cosa devo selezionare nelle combobox per far uscire il numero 1.000 per poi sistemare il tutto poichè ho verificato che solo impostando il formato delle textbox cosi come ti avevo segnalato stamane funziona bene.
    Simula la condizione in cui si verifica questo che tu hai postato:nella prima textbox ho 1.000 e nella seconda ho 10 come risultato ho 11 e non 1.010.
    Ciao



  • di Roby (utente non iscritto) data: 23/04/2014 17:38:44

    per causare l'errore bisogna dapprima selezionare nelle 3 combobox dei valori casuali poi inserire nella textbox1 almeno "100" facendo così nella textbox3 si avrà un numero con le migliaia che a sua volta verrà sommato con il valore da inserire nella textbox4 con la somma nella textbox5



  • di Roby (utente non iscritto) data: 23/04/2014 18:24:45

    quindi nella text box 5 si verifica l'errore che ti dicevo ( i numeri separati dal punto con le migliaia vengono interpretati come numeri con la virgola ad es. 1.000 viene considerato come 1,0 )



  • di Roby (utente non iscritto) data: 23/04/2014 21:25:05

    Ho risolto con la seguente stringa.
    Me.TextBox3.Value = Format(Val(Replace(Me.TextBox1.Value, ".", "")) + Val(Replace(Me.TextBox2.Value, ".", "")), "#,##0")