Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige