fehleingaben inputbox abfangen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox


Excel-Version: 97/2000
nach unten

Betrifft: fehleingaben inputbox abfangen
von: th.heinrich
Geschrieben am: 25.04.2002 - 19:26:23

bestes Forum,

bin dank Martin und Otto schon weit gekommen, was noch wurmt ist folgendes.

Auszug aus MAKRO


Application.ScreenUpdating = False
GT:
    vj = InputBox("Bitte Vorjahr eingeben", "4-stellige Zahl", Format(NumberFormat, "0000"))
    If vj = "" Then Exit Sub
    If Len(vj) <> 4 Then
    MsgBox ("Datum als 4-stellige Zahl eingeben")
    GoTo GT
    End If

hier wird keine eingabe und eingabe <> 4 stellen abgefangen.

wie ist es moeglich die eingabe einer zahl abzufangen welche groesser ist als das vorjahr.

wird so eine zahl eingegeben haengt sich das MAKRO mit einem laufzeitfehler auf, weil diese DATEI (vorjahr + x) noch garnicht existiert, sondern erst im weiteren verlauf des MAKROS abgespeichert wird.

stelle mir evtl. sowas vor.

If Inputbox >= Systemdatum - 1 Then
Msgbox ("trallalla").

danke fuer Euere hilfe thomas


nach oben   nach unten

Re: fehleingaben inputbox abfangen
von: Hajo
Geschrieben am: 25.04.2002 - 19:45:03

Hallo Thomas durch deinen Foramt Befehl wird die Eingabe die jkleiner ist al vier stellen immer auf 4 Stellen gebracht. ändere mal den Code wie folgt dann können nur Zahlen eingegeben werden.
Sub Test() Gt:     Vj = Format(Application.InputBox("Bitte Vorjahr eingeben", "4-stellige Zahl", Year(Date) - 1, Type:=1), "0000")     If Vj = "" Then Exit Sub     If Len(Vj) <> 4 Or Vj > Year(Date) - 1 Then         MsgBox ("Datum als 4-stellige Zahl eingeben bzw. vor dem aktuellen Jahr")         GoTo Gt     End If End Sub
Gruß Hajo

nach oben   nach unten

sorry zu wenig makro
von: th.heinrich
Geschrieben am: 25.04.2002 - 19:46:27

sollte so aussehen
Sub neues_Jahr() Dim vj, jahr As Variant Dim N, NN, GT      Application.ScreenUpdating = False GT:     vj = InputBox("Bitte Vorjahr eingeben", "4-stellige Zahl", Format(NumberFormat, "0000"))     If vj = "" Then Exit Sub     If Len(vj) <> 4 Then     MsgBox ("Datum als 4-stellige Zahl eingeben")     GoTo GT     End If     ChDir "C:\BT\Excel\Sekret\Umsatz\Jahr ab 1999"     Workbooks.Open FileName:=vj, UpdateLinks:=3

nach oben   nach unten

Re: fehleingaben inputbox abfangen
von: th.heinrich
Geschrieben am: 25.04.2002 - 20:00:00

danke Hajo, habe festgestellt, dass mein posting nicht ausreichend war. s.o. das mit YEAR( DATE) - 1 werde ich testen. gruss thomas

nach oben   nach unten

klappt leider nicht
von: th.heinrich
Geschrieben am: 25.04.2002 - 23:00:52

guten abend Hajo, wenn ich Deinen CODE in mein MAKRO einbaue wird YEAR(DATE) -1 durch das MAKRO in die INPUTBOX eingetragen, also 2001. im weiteren verlauf springt das MAKRO zwischen MSGBOX u. INPUTBOX hin u. her, excel laesst sich nur noch ueber STRG+ALT+ENTF beenden. wo hakt's ?? gruss thomas

nach oben   nach unten

Re: klappt leider nicht
von: Hajo
Geschrieben am: 26.04.2002 - 06:22:22

Hallo Thomas ändere die Zeile If Len(Vj) <> 4 Or Vj > CInt(Year(Date) - 1) Then Gruß Hajo

nach oben   nach unten

Re: fehleingaben inputbox abfangen
von: Martin Beck
Geschrieben am: 26.04.2002 - 09:22:46

Hallo Thomas, versuche mal:
GT: vj = InputBox("Bitte Vorjahr eingeben", "4-stellige Zahl", Format(NumberFormat, "0000")) If vj = "" Or Not IsNumeric(vj) Then Exit Sub If Len(vj) <> 4 Or CDbl(vj) >= Year(Date) Then MsgBox ("Ungültige Eingabe") GoTo GT End If End Sub
Nichtnumerische Eingaben, z.B. 20o1 oder w002, werden ebenfalls abgefangen. Gruß Martin Beck

nach oben   nach unten

fehleingaben inputbox abfangen
von: th.heinrich
Geschrieben am: 26.04.2002 - 15:25:07

klasse Martin, funktioniert bestens, nebenbei habe ich gelernt, dass es UMWANDLUNGFUNKTIONEN gibt. gruss thomas

nach oben   nach unten

Re: klappt leider nicht
von: th.heinrich
Geschrieben am: 29.04.2002 - 22:08:33

danke Hajo, fuer Deine muehe, mit dem beitrag von Martin https://www.herber.de/forum/messages/116506.html klappts. gruss thomas p.s. nochmals danke Du hast mir schon oefter weitergeholfen. wie hast Du Dein archiv aufgebaut ? ich bin da noch kaum strukturiert.

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "fehleingaben inputbox abfangen"