Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VBA/EXCEL] Valori numerici di input con textbox

    Un saluto a tutti,

    sto facendo un foglio di gestione tesoreria in excel usando visual basic.
    Ho creato delle userform con textbox per l'input di dati dall'utente.
    Non sono esperto di visual basic ma sto imparando a cavarmela.

    Ora ho un problema con l'inserimento di dati numerici.
    In pratica io voglio che quando l'utente inserisce un valore numerico nella textbox e preme invio o cambia textbox, il valore viene visualizzato con la virgola e il punto delle migliaia.
    Questo riesco a farlo ma poi inserendo ad esempio 10000, me lo visualizza giusto come 10.000,00 ma mi salva un valore di 10. E non capisco perchè.. mi servirebbe un aiuto grazie :)

    Inoltre se come input si mette ad esempio 100.56 poi visualizza e salva 10.056,00...

    Se tolgo la formattazione della textbox salva i valori corretti ma non si ha la visualizzazione del numero col separatore delle migliaia.

    Vi posto i dati della textbox:
    l'F20 mi serve per non far più aggiornare il valore se non quando si cancella e riscrive il numero (altrimenti mi creava problemi); nell'afterupdate mi sistema il formato da visualizzare e elimina il valore inserito se non è numerico.

    codice:
    Private Sub TextBox4_Change()
    If TextBox4.TextLength = 0 Then
    Range("F20") = ""
    End If
    If Range("F20") = "" Then
    Range("F10") = Val(TextBox4)
    End If
    End Sub
    
    
    Private Sub TextBox4_afterupdate()
    If TextBox4.TextLength > 0 Then
    If Not IsNumeric(TextBox4.Text) Then
    risp = MsgBox("Valore errato, inserire solo valori numerici nel Fido C/C", 0, "Controllo Formato")
    TextBox4 = ""
    Else
            If Range("F20") = "" Then
                If TextBox4 <> 0 Then
                TextBox4 = Format(TextBox4, "#,0.00")
                End If
                Range("F20") = 1
            End If
    End If
    End If
    End Sub

  2. #2
    Ho risolto!
    In pratica il formato nell'afterupdate va bene, e in change invece basta salvare il dato come testo, poi nei moduli bisogna trasformarlo in numero (basta moltiplicare la cella per 1).
    e così non serve neanche il controllo su F20.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.