String in Zahl umwandeln

Hallo liebe Experten,

habe ein Problem:
wenn ich in der UserForm eine Zahl eintrage wie „2,5“ oder „2,568“, dann wird die Zahl genau so übertragen in die Tabelle, doch wenn ich eine Zahl eintrage wie „245,568“, dann erscheint diese Zahl in Excel wie 245.568, also nicht mit Komma, sondern als ganze Zahl. Ich denke Mal, dass VB nur Zahlen als Text überträgt und keine Differenzierung bei „,“ macht.

Da ich ein BVA-Neuling bin ist mein Quellcode einfach:
Private Sub CommandButton3_Click()
Sheets(„Eingabemasken“).Activate
Cells(54, 3).Value = Me.TextBox1.Value
Cells(55, 3).Value = Me.TextBox2.Value
Cells(56, 3).Value = Me.TextBox3.Value
Cells(57, 3).Value = Me.TextBox4.Value
Cells(58, 3).Value = Me.TextBox5.Value
Cells(59, 3).Value = Me.TextBox6.Value
Cells(61, 3).Value = Me.TextBox7.Value
Cells(62, 3).Value = Me.TextBox8.Value
Cells(63, 3).Value = Me.TextBox9.Value
Cells(64, 3).Value = Me.TextBox10.Value
Cells(65, 3).Value = Me.TextBox11.Value
Cells(66, 3).Value = Me.TextBox12.Value
Cells(67, 3).Value = Me.TextBox13.Value
Cells(70, 3).Value = Me.TextBox14.Value
Cells(71, 3).Value = Me.TextBox15.Value
Cells(74, 3).Value = Me.TextBox16.Value
Cells(75, 3).Value = Me.TextBox17.Value
Cells(76, 3).Value = Me.TextBox18.Value
Cells(79, 3).Value = Me.TextBox19.Value
Cells(80, 3).Value = Me.TextBox20.Value
Cells(83, 3).Value = Me.TextBox21.Value
Cells(84, 3).Value = Me.TextBox22.Value

'Formular zurücksetzen
Dim tb As Object

With UserForm3
For Each tb In .Controls
If TypeName(tb) = „TextBox“ Then tb.Text = „“
Next tb

End With
End Sub

Man sagte mir ich soll es mit CDbl() bzw. CInt(), CLng …, umwandeln und dann erhalte ich eine Zahl. Wie könnte ich es umsetzen, kann leider nicht viel damit anfangen. Kann mir einer helfen?
Vielen lieben Dank!!!
Gruß
Igor

Hallo liebe Experten,

habe ein Problem:
wenn ich in der UserForm eine Zahl eintrage wie „2,5“ oder
„2,568“, dann wird die Zahl genau so übertragen in die
Tabelle, doch wenn ich eine Zahl eintrage wie „245,568“, dann
erscheint diese Zahl in Excel wie 245.568, also nicht mit
Komma, sondern als ganze Zahl.

??? Da hast Du Dich irgendwie vertippt, oder?
Möchtest Du, daß VB Dein Dezimalkomma immer als solches interpretiert und aus „123,456“ und aus „123.456“ immer 123.456 macht?
Dann hilft Dir Replace.

Ich denke Mal, dass VB nur
Zahlen als Text überträgt und keine Differenzierung bei „,“
macht.

VB unterscheidet Komma und Punkt. Das Komma wird in der deutschen Version als Dezimal-Trennzeichen interpretiert, der Punkt wird ignoriert.

Da ich ein BVA-Neuling bin ist mein Quellcode einfach:
Private Sub CommandButton3_Click()
Sheets(„Eingabemasken“).Activate
Cells(54, 3).Value = Me.TextBox1.Value

Schreib statt …

Cells(54, 3).Value = Me.TextBox1.Value

… mal jeweils …

Cells(54, 3).Value = CDec(Replace(Me.TextBox1.Value, ".", ","))

… dann funktioniert das.

Gruß, Rainer