Inputbox-Messagebox !!!
25.11.2003 21:00:53
Helmut
kann mir bitte mal wieder jemand bei einem kleinen Problem helfen?
Ich möchte über eine Inputbox einen Monat eingeben lassen; die Eingabe darf eine Zahl von 1 bis 12 sein.
Wenn das nicht zutrifft, dann soll eine Messagebox aufgehen, die die falsche Eingabe mitteilt und fragt, ob die Eingabe fortgesetzt werden soll.
Ist die Antwort JA, dann wird wieder mit der Inputbox begonnen, wenn die Antwort NEIN ist, soll das Macro verlassen werden.
Ist die Eingabe eine Zahl zwischen 1 und 12, soll einfach im Script weitergegangen werden.
Dazu habe ich folgendes geschrieben:
Ask3:
' Monat eingeben
Monat = InputBox("Bitte geben Sie das Monat ein (1-12): z.B. 1 für Jänner")
If Monat <> 1 Or Monat <> 2 Or Monat <> 3 Or Monat <> 4 Or Monat <> 5 Or Monat <> 6 Or Monat <> 7 Or Monat <> 8 Or Monat <> 9 Or Monat <> 10 Or Monat <> 11 Or Monat <> 12 Or Monat = "" Then
If MsgBox("Falsche Eingabe! Eingabe wiederholen?", vbYesNo, "ACHTUNG!") = vbYes Then
GoTo Ask3
Else
Exit Sub
End If
End If
Das funktioniert gut, nur wenn ein richtiges Monat eingegeben wird, dann kommt trotzdem die MsgBox mit Falsche Eingabe".......usw.!!!
Die Messagebox kommt also bei dieser Syntax bei JEDER Eingabe!!!!!?????
Wenn ich nur einen Monat abfrage (If Monat <> 1 Then), dann funktioniert das aber!?
Ich möchte aber nicht für 12 Monate blockweise abfragen! Da muß es doch was anderes geben?
Frage: Was mache ich hier falsch, und gibt es eine Möglichkeit nicht alle Monate hintereinander anführen zu müssen? Z.B. 1 To 12, oder so ähnlich!?