falscher Variablentyp bei Usereingabe
22.06.2006 10:42:25
Hans-Peter
Ich möchte in einer InputBox Falscheingaben über den Variablentyp ausschließen.
Meine Variable -die ich mit der Eingabe füttere- ist vom Typ long. Integer geht nicht, weil die Zahl 999999 für integer zum Überlauf führt. Danach übergebe ich diesen Wert in eine Variable vom Typ variant (ohne extra zu deklarieren). Wenn ich jetzt Buchstaben- und Sonderzeicheneingaben verhindern will, wie muss ich dann den Var.Typ aus der InputBox abfragen? Ich erhalte immer eine Typenunverträglichkeit, einen Überlauf oder einen Laufzeitfehler, und mein Makro steigt mit dem Debugger aus! Hier meine Subroutine:
*******************************************************************************
Sub StartID-Abfrage ()
Dim start As Long
Dim startwert
Dim a%
Sheets("Tabelle3").Activate
retry:
start = InputBox("Bitte den Startwert angeben. ", "letzte ACT-ID", (99999 - a), 1)
If start <> vbformat Then 'hier liegt mein Haken
MsgBox "Nur ganzzahlige Eingaben zulässig!", vbOKOnly, "Eingabefehler"
GoTo retry
End If
startwert = CLng(start)
If startwert > (99999 - a) Then
MsgBox "ID zu groß!", vbOKOnly, "Eingabefehler"
GoTo retry
End If
End Sub
*******************************************************************************
Herzlichen Dank für die Hilfe!
HPM