AW: Datentyp abfragen / Integer verifizieren
14.09.2003 01:18:42
Björn
Huhu Peter,
Danke für die Hilfestellung! Ohne sie hätte ich bestimmt noch eine ganze Weile herumexperimentiert und vielleicht sogar auf die Prüfung verzichtet. Ich hab mich jetzt für Deinen Ansatz über die Typenzuweisung entschieden. Das Script sieht jetzt wie nachstehend aus, wobei textbox13 ein Textbox ist, in dem ein der Tageswert eines Datums eingegeben werden soll und Textbox14 ein weiteres Eingabefeld für den Monat des Datums.
Ich hatte daneben noch überlegt, eine Variable vom Typ Vyte zu definieren und zu prüfen, ob die Zuweisung dieser Variablen zum Wert der Textbox einen Fehler liefert. In etwa:
Dim Tag as Bbyte
If iserror(Tag=textbox13.value) then
(...)
end if
Aber das ist wohl auch nicht zielführend. Danke nochmals und gute Nacht :-).
Gruß
Björn
Private Sub TextBox14_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox14.Value) Then
If TextBox14.Value > 0 And TextBox14.Value < 32 And CDbl(TextBox14.Value) - CByte(TextBox14.Value) = 0 Then
If TextBox14.Value <> "" And TextBox15.Value <> "" Then
If Day(DateSerial(2004, TextBox15.Value, TextBox14.Value)) = Val(TextBox14.Value) Then
TextBox14.ForeColor = &H0
Ausgabe
'wenn kein gültiges Datum
Else
MsgBox "Bitte gültigen Wert für den Tag der Grundfälligkeit eingeben. Im Monat " & TextBox15.Value & " gibt es keinen Tag " & TextBox14.Value, vbCritical, "Kein gültiges Datum"
Cancel = True
End If
'wenn keine Ganzzahl im Feld Monat der Grundfälligkeit, wechsele zu Monat der GF
Else
TextBox14.ForeColor = &H0
Ausgabe
End If
'---wenn kleiner 1, oder größer 31 oder keine Ganzzzahl
Else
MsgBox "Bitte Tag der Grundfälligkeit als Ganzzahl eingeben.", vbCritical, "Unzulässiger Eingabewert"
Cancel = True
End If
'---Wenn nicht numeric
Else
MsgBox "Unzulässiger Eingabewert. Bitte Tag der Grundfälligkeit als Zahl eingeben", vbCritical, "Unzulässig"
Cancel = True
End If
End Sub