Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1496to1500
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

Datumsformat automatisch prüfen

Datumsformat automatisch prüfen
13.06.2016 08:49:15
jack1902
Hallo
ich habe in einem Forum einen VBA-Code gefunden, der folgende Prüfung automatisch bei einer Eingabe durchführt.
Wenn in einer Spalte (Datumsspalte) das Datum nicht korrekt eingeben wird, kommt eine Fehlermeldung.
Da in meiner Tabelle in 7 Spalten ein Datum korrekt eingegeben werden muss, habe ich den Code einfach 7 Mal hintereinander kopiert und nur die Spaltennummer angepasst.
Dies funktioniert soweit ganz gut bis auf eine Kleinigkeit (Schönheitsfehler).
Beispiel!
Gibt man in der betreffenden Spalte folgendes ein:
Buchstaben (A) = Fehler
Dezimalzahl mit einem Komma (2,5) = Fehler
nur eine Zahl (1 = 1.1.1900) (wird zum Datum) = o.k.
Datum mit Punkt (12.06.2016) geschrieben = o.k.
Datum mit Komma (12,06,2016) geschrieben = o.k. !!!
Frage:
Ist es möglich den Code so zu modifizieren, dass auch die Kommaschreibweise als Fehler erkannt wird?
Und noch eine Frage zu meinem 7fach Aufbau.
Ist dies so korrekt, oder könnte man die Abfrage der 7 Spalten zusammenfassen,
so dass der Code nicht mehr 7 Mal hintereinander stehen muss?
Hier der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 24 Then
If Not IsDate(Target.Text) Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Exit Sub
End If
End If
If Target.Column = 25 Then
If Not IsDate(Target.Text) Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Exit Sub
End If
End If
If Target.Column = 26 Then
If Not IsDate(Target.Text) Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Exit Sub
End If
End If
If Target.Column = 27 Then
If Not IsDate(Target.Text) Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Exit Sub
End If
End If
If Target.Column = 29 Then
If Not IsDate(Target.Text) Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Exit Sub
End If
End If
If Target.Column = 31 Then
If Not IsDate(Target.Text) Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Exit Sub
End If
End If
If Target.Column = 33 Then
If Not IsDate(Target.Text) Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
Exit Sub
End If
End If
End Sub

Vielen Dank für eventuelle Unterstützung.
Gruß Jakob

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

Betreff
Datum
Anwender
Anzeige
AW: Datumsformat automatisch prüfen
13.06.2016 09:38:03
UweD
Hallo
7x das Gleiche...
Das könntest du so abfackeln.

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 24 To 27, 29, 31, 33
If Not IsDate(Target.Text) Or InStr(Target, ",") > 0 Then
MsgBox ("Die Datums-Eingabe ist nicht korrekt!")
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End Select
End Sub

Aber die Prüfung kannst du direkt in der Tabelle vornehmen und das Makro weglassen.
- Spalte(n) markieren,
- Daten, Datenüberprüfung,
- Zulassen: Datum
- Von Datum (z.B. 01.01.1900)
- Bis Datum (z.B. 31.12.2100)
- evtl. noch die Hinweise angeben
Gruß UweD

Anzeige
AW: Datumsformat automatisch prüfen
13.06.2016 09:52:01
jack1902
Hallo UweD,
vielen herzlichen Dank.
Mit der Datenprüfung funktioniert es nun auch bei der Kommaschreibweise.
Super.
Auch Danke für die Code-Verbesserung bezüglich der Spaltenzusammenfassung.
Wird archiviert, vielleicht kann ich den ein anderes Mal gebrauchen.
Gruß Kehlringer

AW: gern geschehen owt
13.06.2016 09:55:04
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige