Hallo,
Ik heb een userform aangemaakt.
Hierin een textbox aangemaakt waarin bij de invoer van een getal deze wordt weergeven met twee cijfers achter de komma en duizendtallen gescheiden door een punt (bij het verlaten van de textbox).
Private Sub txtGetal_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txtGetal.Value = Replace(txtGetal.Value, ".", Application.DecimalSeparator)
If IsNumeric(txtGetal.Value) Then txtGetal.Value = Format(txtGetal.Value, "#,##0.00")
End Sub
So far so good
Daarnaast in het userform een knop toegevoegd waarbij de inhoud wordt weggeschreven naar een werkblad.
Echter, als ik de inhoud wegschrijf, wordt deze als tekst weergegeven in het werkblad.
Hiervoor de volgende codes gebruikt:
Private Sub cmdToevoegen_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Blad1")
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
ws.Cells(iRow, 1).Value = Me.txtGetal.Value
Op dit forum wel een oplossing gevonden welke de invoer als getal wegzet, achter dan wordt het getal afgerond op nul decimalen ...terwijl het dus op twee decimalen moet worden weggeschreven.
De oplossing wat ik op dit forum las, is de laatste regel vervangen door:
ws.Cells(iRow, 1).Value = IIf(txtGetal.Text = "", Null, Val(txtGetal.Text))
Deze regel converteert naar een getal, maar dan zo ik deze graag in twee decimalen willen hebben.
Wie-o-wie?
Alvast dank!
Ik heb een userform aangemaakt.
Hierin een textbox aangemaakt waarin bij de invoer van een getal deze wordt weergeven met twee cijfers achter de komma en duizendtallen gescheiden door een punt (bij het verlaten van de textbox).
Private Sub txtGetal_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txtGetal.Value = Replace(txtGetal.Value, ".", Application.DecimalSeparator)
If IsNumeric(txtGetal.Value) Then txtGetal.Value = Format(txtGetal.Value, "#,##0.00")
End Sub
So far so good

Daarnaast in het userform een knop toegevoegd waarbij de inhoud wordt weggeschreven naar een werkblad.
Echter, als ik de inhoud wegschrijf, wordt deze als tekst weergegeven in het werkblad.
Hiervoor de volgende codes gebruikt:
Private Sub cmdToevoegen_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Blad1")
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row
ws.Cells(iRow, 1).Value = Me.txtGetal.Value
Op dit forum wel een oplossing gevonden welke de invoer als getal wegzet, achter dan wordt het getal afgerond op nul decimalen ...terwijl het dus op twee decimalen moet worden weggeschreven.
De oplossing wat ik op dit forum las, is de laatste regel vervangen door:
ws.Cells(iRow, 1).Value = IIf(txtGetal.Text = "", Null, Val(txtGetal.Text))
Deze regel converteert naar een getal, maar dan zo ik deze graag in twee decimalen willen hebben.
Wie-o-wie?
Alvast dank!