Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eingabeformat prüfen und "abfangen"

Forumthread: Eingabeformat prüfen und "abfangen"

Eingabeformat prüfen und "abfangen"
19.03.2008 12:01:00
David
Hallo zusammen,
ich habe folgendes (Teil)Makro:

Dim olddate As Date, newdate As Date, antwort As String
olddate = Worksheets("Datum").Range("A2").Value
antwort = MsgBox("Die Auswertung erfolgt für 4 Wochen beginnend mit " & olddate & "! Soll  _
dieses Datum beibehalten werden?", vbYesNoCancel)
If antwort = vbNo Then
newdate = InputBox("Mit welchem Datum soll die Auswertung beginnen? (Format TT-MM-JJ)")
Worksheets("Datum").Range("A2").Value = newdate
End If


Das funzt auch prinzipiell. Nun würde ich gerne irgendwie abfangen, wenn das Datum in einem falschen Format eingegeben wird, z. Bsp. ohne Punkte oder Striche zwischen den Zahlen. Kann mir da bitte jemand weiterhelfen?
Danke im Voraus.
David

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabeformat prüfen und "abfangen"
19.03.2008 15:52:00
fcs
Hallo David,
die Schreibweise des Datums spielt eigenlich keine Rolle, da du die Variablen als Date deklariert hast verwendet Excel die eigene interne Darstellung. Jede als Datum erkennbare Eingabe wird akzeptiert.
Man kann aber die Eingabe prüfen, ob es ein Datum ist.
Die Darstellung mit Bindestrich erfolgt dann durch die Formatierung in der Zelle.
Gruß
Franz
Anpassungen im Code zur Prüfung der Eingabe:

Sub Datum()
Dim olddate As Date, newdate As Date, antwort As String
olddate = Worksheets("Datum").Range("A2").Value
antwort = MsgBox("Die Auswertung erfolgt für 4 Wochen beginnend mit " & olddate & _
"! Soll dieses Datum beibehalten werden?", vbYesNoCancel)
If antwort = vbNo Then
DatumEingabe:
antwort = InputBox(Prompt:= _
"Mit welchem Datum soll die Auswertung beginnen? (Format TT-MM-JJ)", _
Title:="Auswertung - Datum - Beginn", Default:=Format(olddate, "DD-MM-YY"))
If antwort = "" Then Exit Sub 'Abbrechen wurde gewählt
If IsDate(antwort) Then
newdate = CDate(antwort)
Worksheets("Datum").Range("A2").Value = newdate
Else
MsgBox "Bitte Datum im korrekten Format eingeben!"
GoTo DatumEingabe
End If
End If
End Sub


Anzeige
AW: Eingabeformat prüfen und "abfangen"
19.03.2008 16:09:57
David
Klasse, das funzt prima.
Insbesondere die Zeilen

If IsDate(antwort) Then
newdate = CDate(antwort)


sind sehr aufschlußreich. Solche Prüfungen gibt es sicher auch für andere Formate, das werde ich wohl des öfteren mal brauchen.
Tausend Dank.

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige