AW: UF Textbox in das richtige Format setzen
05.01.2010 21:16:13
fcs
Hallo Heinz,
auch hier solltest du für die Prüfung der Eingabe ein Funktion verwenden, da du ja zahlreiche gleichartige Eingabe-Textboxen hast. So kannst du die Eingabe in alle Richtungen prüfen und formatieren.
Die anderen vorgeschlagenen Lösungen haben den kleinen, aber nicht vernachlässigbaren, Nachteil, dass führende und Nachkomma-Nullen immer mühselig mit eingetippt werden müssen.
Gruß
Franz
Private Sub txtMoAZvon_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Eingabewert prüfen
Cancel = FehlerZeitDezimal(sTextboxname:="txtMoAZvon", LeerZulaessig:=True)
End Sub
Function FehlerZeitDezimal(sTextboxname As String, _
Optional sFormat As String = "00.00", _
Optional LeerZulaessig As Boolean = True, _
Optional MinWert As Double = 0, Optional MaxWert As Double = 23.99) As Boolean
'sTextboxname = Name des Textbox-Steuerelements
'sFormat = Zahlenformat in das die eingegebene Zahl umgewandelt werden soll
'LeerZulaessig: Für Musseingabe auf False setzen
'Minwert und Maxwert: unterer und oberer Wert des zulässigen Wertebereichs
'Funktion gibt False zurück, wenn Eingabewert die Bedingungen nicht erfüllt.
Dim oControl As Control, strValue As String
Const msgTitel$ = "Prüfung Zeiteingabe - Dezimal"
Const msgButtons& = vbInformation + vbOKOnly
Set oControl = Me.Controls(sTextboxname)
strValue = oControl.Object.Value
If IsNumeric(strValue) Then
If CDbl(strValue) >= MinWert And CDbl(strValue)