Ich weiß, dass das Thema schon zig mal ducrhgekaut wurde, aber irgendwie komm ich zu keinem zufriedenstellenden Ergebnis.
ich hab Excel-Sheet mit mehreren Datumsspalten, die als TT.MM.JJJJ definiert sind. Leider gibt es immer wieder Jungs, die aber z.B. TT,MM.JJJJ oder T.M.JJ reinschreiben.
Hab da auch schon eine ganz Funktion gefunden, an der ich noch ein wenig rumgespielt habe:
Public Sub Datum_Pruefen()
Dim wsblatt As Worksheet
Dim i As Integer
Dim lastZeile As Long
Dim strwert As String
Dim bytwert As Byte
Set wsblatt = ThisWorkbook.Worksheets("Tabelle1")
lastZeile = Range("A65536").End(xlUp).Row
For i = 1 To lastZeile
strwert = Cells(i, 1).Value
If CStr(strwert) = "" Or IsDate(strwert) Then
MsgBox "Datum ok"
Else
MsgBox "falsches Datum"
End If
Next i
Set wsblatt = Nothing
Set rngzelle = Nothing
End Sub
Problem1: wenn ich in die Zelle z.B. 12,04.2008 schreibe, sagt er "Datum ok". Irgendwie muss ich wohl vorher noch checken, ob der String überhaupt zulässig ist. Aber Wie?
Problem2: Eigentlich will ich das Makro nicht extra ausführen müssen, sondern schon nach der Eingabe in eine Zelle automatisch ausführen lassen. Da gibt es ja in VBA irgendwas mit "_Exit", sprich, beim Verlassen der Zelle, rufe das Makro auf. Leider schnall ich es nicht, das einzubauen.
Kann jemand helfen?
Beste Grüße und Danke im Voraus