Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum Uhrzeit filtern

Datum Uhrzeit filtern
07.03.2006 15:05:27
Peter
Hallo Excel Experten,
an meinem ‘Problem’ haben sich schon einige Koryphäen versucht und sogar Lösungen gebracht, die aber nur unter Excel 2003 oder XP laufen, nicht aber unter Excel 2000.
Ich habe in Spalte A ab Zeile 2 diverse Datums- UND Uhrzeit-Einträge, in der Form 07.02.2006 07:35 – TT.MM.JJJJ hh:mm
Nun möchte ich in zwei beliebigen Zellen ein Datum mit Uhrzeit VON sowie ein Datum mit Uhrzeit bis eingeben, nach denen die Spalte A gefiltert werden soll.
Im Archiv habe ich folgenden Beitrag gefunden:
www.herber.de/forum/archiv/356to360/t358354.htm
Ramses, der doch sehr kompetente Lösungen bringt, hat seine unter Excel 2003 / XP ein laufendes Makro, das von Boris, ebenfalls kompetenter Antworter hier im Forum, und auch dem ursprünglichen Fragesteller als nicht laufend laufend geschildert wird.
Dem muss ich mich leider anschließen.
Selbst ein aufgezeichnetes Makro, mit fest eingegebenen Datums/Uhrzeitwerten filtert EINMAL und dann nicht wieder – Selektion NULL.
Wer hat einen guten Tipp für mich, wie ich das zum Funktionieren bekomme?
Gruß Peter
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum Uhrzeit filtern
07.03.2006 15:39:52
Cardexperte
Hallo Peter,
habe die Diskussion gelesen, da ich auch die neuere Version von Excel habe, kann ich es nicht nachvollziehen, etwas habe ich noch, hast du schon mal versucht nicht mit Autofilter, sondern mit Spezialfilter zu arbeiten, da kannst du dir das Kriterium exliziet im Kriteriumbereich ansehen, (müsste dann jedennfalls eine Zahl mit Kommastelle ergeben) war aber nur eine Idee von mir!
Gruss WS
Anzeige
AW: Datum Uhrzeit filtern
07.03.2006 15:55:21
Peter
Hallo Cardexperte - WS,
ich möchte doch > Range-Von UND Trotzdem danke für deine 'Anteilnahme'.
Viele Grüße Peter
AW: Datum Uhrzeit filtern
07.03.2006 16:14:43
Cardexperte
Hallo Peter,
wenn du im Kriterienbereich mehrere Zeilen untereinander eingibst, dann werden nebeneinanderliegende Spalten als und Verknüfung und untereinanderliegende Zeilen (also in einer Spalte) als oder genommen und sonst gilt auch hier das kleiner und größer Zeichen in der Zelle, werde es gleich mal ausprobieren, aber wie gesagt bei mir kam auch kein Fehler.
Stelle die Datei dann mit diesem Spezialfilter mal hier rein.
Gruss WS
Anzeige
AW: Datum Uhrzeit filtern
07.03.2006 17:10:34
Peter
Hallo Cardexperte - WS,
das wäre eine Möglichkeit, danke dafür.
Die Lösung von WernerB passt aber exakt, auch wenn ich nicht verstehe, das etwas Replaced werden muss, was gar nicht in der Zelle steht.
Meine Datumswerte enhalten Punkte, keine Kommas als Trennzeichen.
Aber ohne die Replace wird NICHTS gefiltert.
Schon seltsam!
Viele Grüße Peter
Anzeige
AW: Datum Uhrzeit filtern
07.03.2006 16:49:04
Peter
Hallo Cardexperte - WS
da bin ich wohl zu dumm für dieses SpezialFilter, ich bekomme dort kein > G1 und Aber die Lösung von deinem Mitantworter läuft - einwandfrei.
Viele Grüße Peter
AW: Datum Uhrzeit filtern
07.03.2006 16:06:20
WernerB.
Hallo Peter,
aus (vergangenen) Excel97-Zeiten habe ich noch dieses damals funktionierende Makro ausgegraben; vielleicht hilft es Dir nach entsprechender Anpassung weiter:

Sub DatumUndUhrzeit()
Range("A1").AutoFilter Field:=1, _
Criteria1:=">=" & _
WorksheetFunction.Substitute(CDbl(CDate("01.05.2005 16:00")), ",", "."), _
Operator:=xlAnd, _
Criteria2:="<=" & _
WorksheetFunction.Substitute(CDbl(CDate("01.05.2005 18:00")), ",", ".")
End Sub

Anmerkung: Bei ExcelXP kann anstatt "WorksheetFunction.Substitute" "Replace" verwendet werden (Excel2000 ?).
Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Datum Uhrzeit filtern
07.03.2006 16:34:58
Peter
Hallo WernerB,
gut, wenn man manche Altertümer aufbewahrt.
so:
Public

Sub Proviamo()
Range("A1").Autofilter Field:=1, _
Criteria1:=">" & _
Replace(CDbl(CDate(Range("G1").Value)), ",", "."), _
Operator:=xlAnd, _
Criteria2:="<=" & _
Replace(CDbl(CDate(Range("H1").Value)), ",", ".")
End Sub

hat es bei mir funktioniert.
Ich bin begeistert! Vielen Dank.
Viele Grüße Peter
Anzeige
AW: Datum Uhrzeit filtern
08.03.2006 07:17:20
WernerB.
Hallo Peter,
Du schreibst:
"Die Lösung von WernerB passt aber exakt, auch wenn ich nicht verstehe, dass etwas Replaced werden muss, was gar nicht in der Zelle steht.
Meine Datumswerte enthalten Punkte, keine Kommas als Trennzeichen.
Aber ohne die Replace wird NICHTS gefiltert.
Schon seltsam!"
Meine Vermutung geht dahin:
Mit "CDbl(CDate(Range("H1").Value)" wird aus Datum und Uhrzeit eine Fließkommazahl generiert, die - weil Du eine deutsche Excel-Version hast - ein Komma als Dezimaltrennzeichen enthält.
Der Autofilter arbeitet jedoch "amerikanisch"; deshalb muss dieses Komma gegen einen Punkt ausgetauscht ("replaced") werden.
Gruß
WernerB.
Anzeige
AW: Datum Uhrzeit filtern
08.03.2006 14:34:50
Peter
Hallo WernerB,
danke noch einmal für deine Idee zu meiner Frage.
Wie heißt es so schön: 'Ist auch Wahnsinn, hat es doch Methode' oder so ähnlich.
Ich nehme es, wie es ist und freue mich, dass es funktioniert.
Es ist schade, dass man die Criteria1 und 2 nicht ansehen kann.
Viele Grüße Peter
Anzeige
AW: Datum Uhrzeit filtern
09.03.2006 08:09:08
WernerB.
Hallo Peter,
Excel arbeitet intern bei Datum und Uhrzeit immer mit Zahlen.
Die Criteria1 und 2 kannst Du so ansehen:
1. Vorschlag:
Ändere das Format der Datumszellen "G1:H1" in "Standard", dann siehst Du die Zahlen!
2. Vorschlag (ohne vorherige Formatänderung!):

Sub Peter()
Dim Krit1 As Double, Krit2 As Double
Krit1 = CDbl(CDate(Range("G1").Value))
Krit2 = CDbl(CDate(Range("H1").Value))
MsgBox "Kriterium 1:  " & Krit1 & vbCr & "Kriterium 2:  " & Krit2
End Sub

Gruß
WernerB.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Datum und Uhrzeit filtern in Excel


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Daten: Stelle sicher, dass deine Datums- und Uhrzeitwerte in Spalte A im Format TT.MM.JJJJ hh:mm vorliegen. Das bedeutet, dass der Tag, Monat, Jahr, Stunden und Minuten korrekt eingegeben sind.

  2. Eingabe der Filterkriterien: In den Zellen G1 und H1 gibst du die gewünschten Start- und Enddaten mit Uhrzeit ein, z.B. 01.05.2005 16:00 in G1 und 01.05.2005 18:00 in H1.

  3. Makro erstellen: Öffne den VBA-Editor (ALT + F11) und füge ein neues Modul ein. Kopiere das folgende Makro hinein:

    Sub DatumUndUhrzeit()
       Range("A1").AutoFilter Field:=1, _
       Criteria1:=">=" & Replace(CDbl(CDate(Range("G1").Value)), ",", "."), _
       Operator:=xlAnd, _
       Criteria2:="<=" & Replace(CDbl(CDate(Range("H1").Value)), ",", ".")
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus (F5 oder über das Menü).

  5. Überprüfung des Filters: Überprüfe, ob die Daten in Spalte A nun entsprechend dem eingegebenen Datum und Uhrzeit gefiltert sind.


Häufige Fehler und Lösungen

  • Problem: Der Autofilter funktioniert nicht.

    • Lösung: Stelle sicher, dass die Datumswerte in der richtigen Formatierung vorliegen. Wenn das Komma als Dezimaltrennzeichen verwendet wird, ersetze es im Makro durch einen Punkt.
  • Problem: Das Makro läuft nur einmal.

    • Lösung: Überprüfe, ob du das Makro erneut ausführst oder ob die Filtereinstellungen zurückgesetzt wurden.

Alternative Methoden

Eine alternative Methode zum Filtern von Uhrzeiten in Excel ist die Verwendung des Spezialfilters. Hierbei können die Kriterien in einem separaten Bereich definiert werden. Um dies zu tun:

  1. Gib die Filterkriterien in einem neuen Bereich ein (z.B. in den Zellen G1 und G2).
  2. Wähle die Daten aus, die gefiltert werden sollen.
  3. Gehe zu DatenSortieren und FilternErweiterter Filter.
  4. Wähle die Kriterien für den Filter aus und klicke auf OK.

Praktische Beispiele

Angenommen, du hast folgende Einträge in Spalte A:

07.02.2006 07:35
01.05.2005 16:00
01.05.2005 18:00

Wenn du in G1 01.05.2005 15:00 und in H1 01.05.2005 17:00 eingibst, wird nach dem Ausführen des Makros nur der Eintrag 01.05.2005 16:00 angezeigt.


Tipps für Profis

  • Verwende Variablen: Anstatt direkt in den Kriterien zu arbeiten, kannst du die Werte in Variablen speichern, um den Code übersichtlicher zu gestalten.

    Sub OptimiertesMakro()
       Dim StartDate As Double
       Dim EndDate As Double
       StartDate = CDbl(CDate(Range("G1").Value))
       EndDate = CDbl(CDate(Range("H1").Value))
    
       Range("A1").AutoFilter Field:=1, _
       Criteria1:=">=" & Replace(StartDate, ",", "."), _
       Operator:=xlAnd, _
       Criteria2:="<=" & Replace(EndDate, ",", ".")
    End Sub
  • Fehlerbehebung: Wenn du mit einer deutschen Excel-Version arbeitest, achte darauf, dass die Formatierungen und die Verwendung von Komma oder Punkt korrekt sind.


FAQ: Häufige Fragen

1. Warum funktioniert mein Filter nicht?
Wenn der Filter nicht funktioniert, überprüfe die Datums- und Uhrzeitformatierung in Spalte A sowie die Eingaben in den Zellen G1 und H1.

2. Was ist der Unterschied zwischen Autofilter und Spezialfilter?
Der Autofilter ermöglicht eine schnelle Filterung, während der Spezialfilter erweiterte Filterkriterien zulässt und mehr Flexibilität bei der Datenanalyse bietet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige