Campo euro in una textbox

Anonimo
2022-05-12T08:17:35+00:00

Ciao a tutti non riesco a risolvere un problema o meglio funziona, ma non come dovrebbe, premetto che sono un neofita e quindi non ho molte conoscenze, veniamo al punto ho creato seguendo un tutorial una Userform e lo adattata alle mie esigenze funziona tutto, all'interno ho un textbox chiamata valore che mi serve per inserire le cifre sul foglio, ho inserito il seguente codice. La cifra viene inserita correttamente nel foglio ma non viene riconosciuta coma valuta infatti se vado a fare la somma dei valori non da risultato, ho cercato in rete provato anche diverse soluzioni ma non funziona cosa sbaglio ?

Vi ringrazio in anticipo per l'aiuto

'imposta la casella valore in euro
Private Sub txtvalore_AfterUpdate()
With Me.txtvalore
.Value = Format(.Text, "€ #,##0.00")
End With
End Sub
Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2022-05-12T12:55:12+00:00

Ciao Fabry_102,

Prova invece il codice suggerito da me.

Prova il mio file di prova che avevo caricato in una risposta nel tuo altro thread.

===

Regards,

Norman

Immagine

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2022-05-12T12:42:42+00:00

    Pensavo di aver Risolto in questo modo, invece non va o meglio non mi da errore, ma rimane sempre a zero

    Dim dVal As Double 'Inserisce il valore in euro sul foglio 
    
        dVal = CDbl(Me.txtvalore.Value = "null") 
    
        With ActiveCell.Offset(0, 6) 
    
        .Value = dVal 
    
            .NumberFormat = "€ #,##0.00" 
    
            End With 'fine
    

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2022-05-12T12:41:00+00:00

    Ciao Fabry_102,

    Grazie Norman, ho inserito il tuo codice funziona se metto sempre la cifra, se invece la lascio vuota mi da errore di runtime 13 - tipo non corrispondente

    Questo errore si verifica perché non è possibile convertire una stringa vuota in un valore numerico.

    Quindi, per ovviare al tuo problema, sostituisci la procedura CommandButton1_Click con la seguente versione:

    '-------->>

    Private Sub CommandButton1_Click()

    Dim dVal As Double 
    
    **If Me.txtValore.Value <> vbNullString Then** 
    
        dVal = CDbl(Me.txtValore.Value) 
    
    **Else** 
    
        **dVal = 0** 
    
    **End If** 
    
    With ActiveSheet.Range("A1") 
    
        .Value = dVal 
    
        .NumberFormat = " € #,##0.00" 
    
    End With 
    

    End Sub

    '<<========

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2022-05-12T12:24:57+00:00

    Ciao

    Ciao a tutti non riesco a risolvere un problema o meglio funziona, ma non come dovrebbe, premetto che sono un neofita e quindi non ho molte conoscenze, veniamo al punto ho creato seguendo un tutorial una Userform e lo adattata alle mie esigenze funziona tutto, all'interno ho un textbox chiamata valore che mi serve per inserire le cifre sul foglio, ho inserito il seguente codice. La cifra viene inserita correttamente nel foglio ma non viene riconosciuta coma valuta infatti se vado a fare la somma dei valori non da risultato, ho cercato in rete provato anche diverse soluzioni ma non funziona cosa sbaglio ?

    Vi ringrazio in anticipo per l'aiuto

    'imposta la casella valore in euro
    Private Sub txtvalore_AfterUpdate()
    With Me.txtvalore
    .Value = Format(.Text, "€ #,##0.00")
    End With
    End Sub
    

    Il valore restituito da un controllo TextBox è sempre un valore di testo. Per sommare questo valore o trasferirlo in un foglio di lavoro come valore di valuta, devi prima convertirlo in un valore numerico.

    Quindi, forse prova qualcosa del genere:

    '========>>

    Option Explicit

    '-------->>

    Private Sub txtValore_AfterUpdate()

    With Me.txtValore

    .Value = Format(.Text, "€ #,##0.00")

    End With

    End Sub

    '-------->>

    Private Sub commandbutton1_Click()

    Dim dVal As Double

    dVal = CDbl(Me.txtValore.Value)

    With ActiveSheet.Range("A1")

    .Value = dVal

    .NumberFormat = " € #,##0.00"

    End With

    End Sub

    '<<========

    ===

    Regards,

    Norman

    Immagine

    Grazie Norman, ho inserito il tuo codice funziona se metto sempre la cifra, se invece la lascio vuota mi da errore di runtime 13 - tipo non corrispondente

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2022-05-12T09:44:35+00:00

    Ciao

    Ciao a tutti non riesco a risolvere un problema o meglio funziona, ma non come dovrebbe, premetto che sono un neofita e quindi non ho molte conoscenze, veniamo al punto ho creato seguendo un tutorial una Userform e lo adattata alle mie esigenze funziona tutto, all'interno ho un textbox chiamata valore che mi serve per inserire le cifre sul foglio, ho inserito il seguente codice. La cifra viene inserita correttamente nel foglio ma non viene riconosciuta coma valuta infatti se vado a fare la somma dei valori non da risultato, ho cercato in rete provato anche diverse soluzioni ma non funziona cosa sbaglio ?

    Vi ringrazio in anticipo per l'aiuto

    'imposta la casella valore in euro
    Private Sub txtvalore_AfterUpdate()
    With Me.txtvalore
    .Value = Format(.Text, "€ #,##0.00")
    End With
    End Sub
    

    Il valore restituito da un controllo TextBox è sempre un valore di testo. Per sommare questo valore o trasferirlo in un foglio di lavoro come valore di valuta, devi prima convertirlo in un valore numerico.

    Quindi, forse prova qualcosa del genere:

    '========>>

    Option Explicit

    '-------->>

    Private Sub txtValore_AfterUpdate()

    With Me.txtValore 
    
        .Value = Format(.Text, "€ #,##0.00") 
    
    End With 
    

    End Sub

    '-------->>

    Private Sub commandbutton1_Click()

    Dim dVal As Double

    dVal = CDbl(Me.txtValore.Value) 
    
    With ActiveSheet.Range("A1") 
    
        .Value = dVal 
    
        .NumberFormat = " € #,##0.00" 
    
    End With 
    

    End Sub

    '<<========

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento