Hilfe! Inputbox-Messagebox
26.11.2003 11:40:23
Helmut
Nepomuk hat mir gestern mit einem Skriptteil (steht unten) sehr geholfen.
Das Skript läuft auch ganz gut, aber es fehlt etwas Entscheidendes für mich, das ich gestern vergessen habe zu schreiben.
Auch wenn NICHTS (leer) in die Inputbox eingegeben wird, soll die MsgBox aufgehen und mitteilen, dass eine Falscheingabe erfolgt ist!
Machen will ich folgendes:
Ich möchte über eine Inputbox einen Monat eingeben lassen; die Eingabe darf eine Zahl von 1 bis 12 sein.
Wenn das nicht zutrifft, ODER WENN KEINE EINGABE ERFOLGT, 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.
Mit dem derzeitigen Script von Nepomuk nimmt VBA die Leereingabe aber an (wie gesagt, habe gestern vergessen diese Bedingung anzuführen!). Wie muß der Script denn nun aussehen, dass auch bei LERREINGABE die MsgBox aufgeht.
Nebenbei:
Ab Eingabe einer 5-stelligen Zahl (bis 4-stellig OK) bekomme ich beim derzeitigen Skript nicht die Falschmeldung der MsgBox sondern eine Fehlermeldung von VBA: "Überlauf"!
Wie kann ich auch dieses Problem beheben, da ich solche Fehler vermeiden möchte!?
Skript von Nepomuk:
Option Explicit
Public
Sub test()
Dim Monat As String
Do
Monat = InputBox("Bitte geben Sie das Monat ein (1-12): z.B. 1 für Jänner")
If Trim(Monat) <> "" Then
If IsNumeric(Monat) Then
Monat = CStr(CInt(Monat))
If CDbl(Monat) >= 1 And CDbl(Monat) <= 12 Then Exit Do
End If
Else
Exit Sub
End If
If MsgBox("Falsche Eingabe! Eingabe wiederholen?", 52, "ACHTUNG!") = vbNo Then Exit Sub
Loop
End Sub
Ich danke euch im Voraus!
Lg, Helmut