Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler abfangen...

Fehler abfangen...
27.10.2005 20:33:48
Walter
Guten Abend Fachfrauen und Männer,
ich habe eine Textbox und ein SpinButton für Datumsauswahl etc. .
Nun kann man ja in der Textbox auch das Datum Manuell ändern, leider kommt es vor, wenn ich das Jahr z.b. 2005 jetzt 2001 eingeben will und ich dann
001 Schreibe, kommt eine Fehlermeldung.
Sonst funktioniert alles Super.
Frage:
Wie kann ich die fehlerhafte Eingabe abfangen so das nichts passiert oder vielleicht ein Hinweis kommt oder normal das Makro abgebrochen wird?
Hier mein Makro:

Private Sub TextBox39_Change()
Dim dat As Date
On Error Resume Next
If Not txtDate Like "*.*.?*" Then Exit Sub
dat = CDate(TextBox39)
If Err <> 0 Then Exit Sub
spnDate = CLng(dat)
dat = CDate(Worksheets("Kulanzblatt-VK").Range("F11"))
Worksheets("Werkstatt").Range("F11") = CDate(TextBox39)
Label4.Caption = Format(spnDate, "dddd")                   'zeigt Tag an
If TextBox39 = "00:00:00" Then Label4.Caption = ""
If dat >= DateValue("01.07.2005") Then
Sheets("Werkstattt").Select
ComboBox4.RowSource = ("BG322:BG332")
ComboBox4.Value = Worksheets("Werkstatt").Range("BG318")
Else
Sheets("Werkstatt").Select
Sheets("Werkstatt").Unprotect ("wwpa")
ComboBox4.RowSource = ("AV322:AV332")
ComboBox4.Value = Worksheets("Werkstatt").Range("AV318")
End If
End Sub

Gruß Walter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachtrag Makro
27.10.2005 20:50:28
Walter
Hallo,
hier noch das Makro, hier bleibt das Makro stehen!

Private Sub TextBox39_Exit(ByVal Cancel As MSForms.ReturnBoolean)
txt_N TextBox39
Dim dat As Date
dat = "01.07.05"
HIER >>>>> If CDate(TextBox39) < dat Then
MsgBox "Sie kalkulieren nach   'ALTER' Kalkulation ! " & Chr(13) & Chr(13) & _
"Datum vor dem 01.07.2005  " _
& Chr(13) & Chr(13) & "ausgewählt !" & Chr(13) & Chr(13) & _
"                        " _
, vbInformation, " Hinweis !"
End If
End Sub

Gruß Walter
AW: Fehler abfangen...
27.10.2005 20:50:37
Luschi
Hallo Walter,
dafür gibt ed die IsDate-Fkt.
If Not Me.txtDate.Value Like "*.*.?*" Then Exit Sub
If Not IsDate(Me.txtDate.Value) Then
MsgBox "Das ist leider kein gültiges Datum!, 16
Exit Sub
End If
Noch 1 kleinen Tip: Steuerelemente sollte man möglichst mit voller Adresse
ansprechen und auch die Eigenschaft mit angeben, die man auswerten will (auch
wenn es die Standard-.Eigenschaft ist). Wenn man das Programm nach etwas/langer Zeit wieder mal in die hand nimmt, dann liest es sich einfacher.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Fehler abfangen...
27.10.2005 21:13:12
Walter
Hallo Luschi,
funktioniert, Danke.
In der MSGBOX steht hinter dem Text die 16 was ist damit ?
Wie kann ich dann die Textbox39 als Focus hinkriegen, damit man direkt wieder das Datum
ändern kann ?
Gruß Walter
Fehler abfangen... Teilantwort
27.10.2005 22:08:57
Björn
Hallo Walter,
die drittletzte Zeile sollte wohl
MsgBox "Das ist leider kein gültiges Datum!", 16
lauten. Es fehlten die Anführungsstriche hinter dem Ausrufungszeichen. In deinem Programm-Code werden bei Eingabe der von dir geposteten Zeile am Ende automatisch die Anführungsstriche ergänzt, so dass es zu der beobachteten Meldung kommt.
Die zweite Frage ist noch offen.
Viele Grüße
Björn
Anzeige
AW: Fehler abfangen... Teilantwort
27.10.2005 22:41:22
Walter
Hallo Björn,
herzlichen Dank für die Info. Wie geht den das "geposteten Zeile", habe leider keine "Schimmer".
Gruß Walter
AW: Fehler abfangen... Teilantwort
27.10.2005 22:50:21
Björn
Hallo Walter,
gepostet heißt: hier im Forum veröffentlicht. Aber sorry, war nicht von dir sondern von Luschi "gepostet".
Wenn du in den Beitrag von Luschi schaust, wirst du sehen, dass da ein Anführungszeichen an der besagten Stelle fehlt. Das muss nur ergänzt werden. Achte in deinem Makro dann bitte darauf, dass hinter der 16 kein Anführungszeichen mehr stehen darf.
Alles klar?
Viele Grüße
Björn
AW: Fehler abfangen... Teilantwort
27.10.2005 22:54:18
Walter
Hallo Björn,
habe ich gemacht, ist o.k.
Gruß Walter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige