Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
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
Inhaltsverzeichnis

Test korrektes Datum (VBA)

Test korrektes Datum (VBA)
05.03.2017 19:30:53
AlterDresdner
Hallo Gemeinde,
hat jemand einen heißen Tipp, wie ein als "31.2.17" vorliegendes Datum als inkorrekt erkannt werden kann? IsDate und DateValue scheiden aus, da der Herr Excel diesen Wert intern als 17.2.13 interpretiert.
Auf zündende Ideen hofft der AlteDresdner

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Test korrektes Datum (VBA)
05.03.2017 20:29:23
ransi
Hallo,
Versuch mal sowas:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit



Public Function check_datum(strtext As String)
    Dim Regex As Object
    check_datum = False
    Set Regex = CreateObject("VbScript.Regexp")
    With Regex
        .Pattern = "\b(((0?[1-9]|[12][0-9])\.(0?[1-9]|1[0-2])\.)|(30\.((0?[13-9])|(1[0-2]))\.)|(31\.(0?[13578]|1[02])\.))((19|20)\d{2}|\d{2})"
        'Set objMatch = .Execute(strtext)
        check_datum = .test(strtext)
    End With
End Function


Erkennt korrektes Datum mit . als Trenner.
Tage.Monat.Jahr
Tabelle1

 BC
128.02.2017WAHR
229.02.2017WAHR
330.02.2017FALSCH
431.02.17FALSCH
51.3.17WAHR
602.03.2017WAHR
703.03.17WAHR
84.03.2017WAHR
95.03.2017WAHR
106.03.2017WAHR
117.03.2017WAHR
128.03.2017WAHR
139.03.2017WAHR
1410.03.2017WAHR
1511.03.2017WAHR
1612.03.2017WAHR
1713.03.2017WAHR

Formeln der Tabelle
ZelleFormel
C1=check_datum(B1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Für ein Schaltjahr muss ich noch etwas basteln....
Anzeige
AW: Test korrektes Datum (VBA)
05.03.2017 20:33:20
AlterDresdner
Danke ransi, nichts für ungut, ich bleibe bei der meinigen Lösung, die verstehe ich halt auf Anhieb.
Gruß der AlteDresdner
gelöst: Test korrektes Datum (VBA)
05.03.2017 20:30:26
AlterDresdner
Etwas umständlich, aber funktioniert: Function CheckDate(a) As Boolean CheckDate = True If Trim(a) = "" Then Exit Function If Not IsDate(a) Then CheckDate = False Else If Format(Year(a), "0000") Format("1.1" & Mid(a, InStrRev(a, ".")), "yyyy") Then _ CheckDate = False End If End Function
Der erleichterte AlteDresdner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige