Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfung auf richtiges Datumsformat

Prüfung auf richtiges Datumsformat
09.08.2006 09:41:08
stefanseevetal
Hallo!
Ich habe ein Makro, dass Daten von einer in eine andere Tabelle übertragt. Vor der Übertragung möchte ich noch einige Zellen auf das richtige Format überprüfen. Ich habe folgenden Code geschrieben, aber leider funktioniert er nicht wie gewünscht. Denn auch wenn ich das richtige Datumsformat (z.B. 21.04.06) habe, erkennt er es nicht und gibt mir die Meldung aus. Genauso bei Uhrzeit. Hat da jemand ne Idee, wie ich das umbauen müsste, damit es funktioniert?
If Not Cells(8, 28).NumberFormat = "dd/mm/yy" Then
MsgBox "Bitte überprüfen Sie die Datumsangabe bei 'Schaden festgestellt' auf das richtige Format 'TT.MM.JJ'!", vbExclamation, "Achtung"
Exit Sub
ElseIF Not Cells(8,37).NumberFormat = "h:mm" Then
MsgBox "Bitte überprüfen Sie die Uhrzeitangabe bei 'Schaden festgestellt' auf das richtige Format 'H:MM'!", vbExclamation, "Achtung"
Exit Sub
Danke und Gruß,
Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfung auf richtiges Datumsformat
09.08.2006 10:49:35
Peter
Hallo Stefan,
Datum prüfst du am Besten mit If IsDate(Cells(8,28).Value) Then
Uhrzeit ist schwieriger, hier eine Möglichkeit:
Public

Sub Uhrzeit_pruefen()
Dim sZeit   As String * 5       ' max 5-stellig die Uhrzeit als hh:mm
Dim sStd    As String * 2       ' max 2-stellig die Stunden
Dim iStd    As Integer          ' die Stunden numerisch
Dim sMin    As String * 2       ' max 2-stellig die Minuten
Dim iMin    As Integer          ' die Minuten numerisch
Dim sDPkt   As String * 1       ' max 1-stellig das Trennzeichen ':'
sZeit = Trim(Range("B3").Text)                  ' Zeit übernehmen
sStd = Left(sZeit, 2)                            ' Stunden     extrahieren
sDPkt = Mid(sZeit, 3, 1)                         ' Doppelpunkt extrahieren
sMin = Mid(sZeit, 4, 2)                          ' Minuten     extrahieren
If IsNumeric(sStd) Then                          ' Stunden-Eingabe numerisch ?
iStd = CInt(sStd)                             ' Stunden konvertieren
If iStd < 24 Then                             ' Stunden max 23 ?
Else
MsgBox "die Start-Stunde ist ungültig.", _
16, "falsche Eingabe."
End If
Else
MsgBox "die Start-Stunde ist ungültig.", _
16, "falsche Eingabe."
End If
If sDPkt <> ":" Then                             ' wurde kein Doppelpunkt eingegeben ?
MsgBox "Std:Min immer mit Doppelpunkt trennen.", _
16, "falsche Eingabe."
End If
If IsNumeric(sMin) Then                          ' Minuten-Eingabe numerisch ?
iMin = CInt(sMin)                             ' Minuten konvertieren
If iMin < 60 Then                             ' Minuten max 59 ?
Exit 

Sub                                   ' dann ist die Eingabe perfekt !
Else
MsgBox "die Start-Minuten sind ungültig.", _
16, "falsche Eingabe."
End If
Else
MsgBox "die Start-Minuten sind ungültig.", _
16, "falsche Eingabe."
End If
End Sub

Normalerweise wird die Uhrzeit (wie auch das Datum) ja nicht in der gezeigten Schreibweise, sondern intern als Zahl dargestellt.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
Danke
09.08.2006 11:54:13
stefanseevetal
Hallo Peter,
oha, das habe ich mir einfacher vorgestellt! Aber vielen Dank für Deine Hilfe, es läuft.
Gruß,
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige