habe eine Frage zur Eingabe bei einer TextBox
ich habe meine Textbox auf Zahleneingabe begrenzt.
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Begrenzen der Eingabe auf Zahlen und Komma
If Len(TextBox4) = 0 Then ' ist die TextBox noch leer ?
Select Case KeyAscii
Case 44, 45, 48 To 57 ' nur Minus, Komma, Null - Neun
Case Else
KeyAscii = 0
End Select
ElseIf InStr(1, TextBox4, ",") = 0 Then ' noch kein Komma gesetzt ?
Select Case KeyAscii
Case 44, 48 To 57 ' nur Komma, Null - Neun
Case Else
KeyAscii = 0
End Select
Else ' sind es noch weniger als 2 Nachkommastellen ?
If Len(TextBox4.Value) - InStr(TextBox4.Value, ",")
Das funktioniert auch richtig.
Nur wenn jetzt schon ein Wert drin steht, und ich diesen ändern will,
muss ich diesen zuerst entfernen und dann kann ich wieder schreiben.
Ich möchte es aber so haben, dass ich zwar nur Zahlen und Komma wie im Code oben eingeben kann,
aber wenn ich das mit der Maus markiere, möchte ich die Zahl sofort überschreiben können.
Momentan kann ich es markieren, muss zuerst entfernen und dann die Zahl einfügen.
Kann man das noch irgendwie einfügen?
Gruß Tobias