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

Tabelle nach Uhrzeit filtern

Forumthread: Tabelle nach Uhrzeit filtern

Tabelle nach Uhrzeit filtern
09.03.2015 13:31:12
Leonhard
Hallo,
ich möchte meine Tabelle gerne nach der Uhrzeit filtern. Unten findet Ihr meinen Versuch dazu. Leider kann ich mit diesem Code nur Uhrzeiten von z.B. 17 - 22 Uhr abfragen. Wenn ich jetzt jedoch von 22 - 17 Uhr (über Nacht) filtern möchte, klappt das selbstverständlich mit diesem Code nicht. Könnte mir da jemand weiterhelfen, oder hätte Ideen für mich? Wäre sehr dankbar!
Sub nach_Zeit_filtern()
Application.ScreenUpdating = False
Worksheets("Tabelle1").Activate
Dim t As Long
Dim user_time_1 As Date
Dim user_time_2 As Date
Dim Zeilenzahl As Integer
Columns("G:G").Select
Selection.NumberFormat = "hh:mm:ss"
user_time_1 = CDate(Format(Time, "hh:mm:ss"))
user_time_2 = CDate(Format(Time, "hh:mm:ss"))
Range("G1").Select
Zeilenzahl = Selection.CurrentRegion.Rows.Count
If Cells(1, 7).Value = "TIME" Then
user_time_1 = InputBox("AB welcher Uhrzeit sollen die Ergebnisse ausgewertet werden? _
_
", "Bitte Uhrzeit eingeben:", "hh:mm:ss")
user_time_2 = InputBox("BIS zu welcher Uhrzeit sollen die Ergebnisse ausgewertet  _
werden?", "Bitte Uhrzeit eingeben:", "hh:mm:ss")
For t = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(t, 7)  user_time_2 Then Rows(t).Delete
Next t
End If
Worksheets("Tabelle1").Activate
Application.ScreenUpdating = True
End Sub
https://www.herber.de/bbs/user/96253.xlsm

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle nach Uhrzeit filtern
09.03.2015 14:16:35
Klexy
Du filterst ja nicht, du blendest aus.
Ich würde in die Titelzeile einen Autofilter setzen. Dann geht es so:
Sub nach_Zeit_filtern2()
Application.ScreenUpdating = False
Worksheets("Tabelle1").Activate
Dim t As Long
Dim user_time_1 As Date
Dim user_time_2 As Date
Dim ZeitSpalte As Integer
ZeitSpalte = 7
' eigentlich nicht nötig, wenn die Spalte schon ordentlich formetiert ist:
Columns("G:G").Select
Selection.NumberFormat = "hh:mm:ss"
Range("G1").Select
user_time_1 = InputBox("AB welcher Uhrzeit sollen die Ergebnisse ausgewertet werden? _
", "Bitte Uhrzeit eingeben:", "hh:mm:ss")
user_time_2 = InputBox("BIS zu welcher Uhrzeit sollen die Ergebnisse ausgewertet  _
werden?", "Bitte Uhrzeit eingeben:", "hh:mm:ss")
If user_time_1 =" & user_time_1, Operator:= _
xlAnd, Criteria2:="=" & user_time_1, Operator:= _
xlOr, Criteria2:="
Es genügt auch wenn du 8:0 statt 8:00:00 eingibst.

Anzeige
AW: Tabelle nach Uhrzeit filtern
09.03.2015 14:22:52
Leonhard
Hi Klexy, schöne Lösung! Vielen Dank für deine Mühe. Mit den Filtern habe ich bis jetzt fast noch nie etwas gemacht - sieht ganz interessant aus :-) Mach's gut!

AW: Tabelle nach Uhrzeit filtern
09.03.2015 16:05:30
Klexy
Eine Tabelle ohne Filter am Kopf ist keine Tabelle.
(altes chin. Sprichwort)

AW: Tabelle nach Uhrzeit filtern
09.03.2015 14:23:17
Rudi
Hallo,
beziehe das Datum ein.
Gruß
Rudi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Tabelle nach Uhrzeit filtern


Schritt-für-Schritt-Anleitung

Um eine Excel-Tabelle nach Uhrzeit zu filtern, kannst du die folgenden Schritte befolgen. Die Anleitung basiert auf den Tipps aus dem Forum.

  1. Öffne deine Excel-Datei und gehe zu der Tabelle, die du filtern möchtest.

  2. Aktiviere den Autofilter:

    • Klicke auf die Registerkarte „Daten“ und aktiviere den „Filter“.
  3. Erstelle ein VBA-Skript:

    • Öffne den Visual Basic for Applications (VBA) Editor mit ALT + F11.
    • Füge ein neues Modul ein und kopiere den folgenden Code:
    Sub nach_Zeit_filtern2()
       Application.ScreenUpdating = False
       Worksheets("Tabelle1").Activate
       Dim user_time_1 As Date
       Dim user_time_2 As Date
    
       user_time_1 = InputBox("AB welcher Uhrzeit sollen die Ergebnisse ausgewertet werden?", "Bitte Uhrzeit eingeben:", "hh:mm:ss")
       user_time_2 = InputBox("BIS zu welcher Uhrzeit sollen die Ergebnisse ausgewertet werden?", "Bitte Uhrzeit eingeben:", "hh:mm:ss")
    
       ' Setze den Autofilter
       ActiveSheet.Range("A1").AutoFilter Field:=7, Criteria1:=">=" & user_time_1, Operator:=xlAnd, Criteria2:="<=" & user_time_2
    
       Application.ScreenUpdating = True
    End Sub
  4. Führe das Skript aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Starte das Skript mit ALT + F8, wähle nach_Zeit_filtern2 und klicke auf „Ausführen“.
  5. Gib die gewünschten Uhrzeiten ein und die Tabelle wird entsprechend gefiltert.


Häufige Fehler und Lösungen

  • Fehler: Keine Ergebnisse angezeigt

    • Lösung: Überprüfe, ob die eingegebene Uhrzeit im richtigen Format vorliegt (hh:mm:ss).
  • Fehler: Filter funktioniert nicht über Mitternacht

    • Lösung: Wenn du mit Uhrzeiten über Mitternacht arbeitest, musst du sicherstellen, dass die Kriterien korrekt formuliert sind. Verwende den Autofilter, wie im obigen Beispiel gezeigt.

Alternative Methoden

Du kannst auch die Filter-Funktion in Excel verwenden, ohne VBA:

  1. Wähle die Zelle in der Spalte aus, die die Uhrzeiten enthält.
  2. Gehe zu „Daten“ > „Filter“ und klicke auf den kleinen Pfeil in der Spaltenüberschrift.
  3. Wähle „Benutzerdefiniertes Filtern“ und gib die gewünschten Uhrzeiten ein.

Diese Methode ist einfach und erfordert kein Programmieren.


Praktische Beispiele

  • Beispiel: Du hast eine Tabelle mit verschiedenen Zeitstempeln und möchtest nur die Einträge zwischen 22:00 und 05:00 Uhr sehen. Setze den Autofilter wie oben beschrieben und gib die entsprechenden Zeiten ein.

  • Beispiel: Wenn deine Tabelle auch Datumsangaben enthält, kannst du die Filterkriterien erweitern, um sicherzustellen, dass nur die relevanten Daten angezeigt werden.


Tipps für Profis

  • Formatierung: Stelle sicher, dass die Spalte mit den Uhrzeiten im Format „hh:mm:ss“ formatiert ist, damit der Filter richtig funktioniert.
  • Datumsangaben einbeziehen: Wenn deine Daten auch Datumsangaben enthalten, solltest du diese in deinen Filterkriterien berücksichtigen, um genauere Ergebnisse zu erhalten.
  • VBA optimieren: Du kannst dein VBA-Skript weiter anpassen, um mehrere Filterkriterien hinzuzufügen oder um spezifische Fehlerbehandlungen einzuführen.

FAQ: Häufige Fragen

1. Wie kann ich Uhrzeiten im 24-Stunden-Format eingeben?
Du kannst Uhrzeiten einfach im Format „hh:mm“ oder „hh:mm:ss“ eingeben. Excel versteht diese Formate automatisch.

2. Funktioniert das Filtern auch in älteren Excel-Versionen?
Ja, die meisten Funktionen, einschließlich des Filterns, sind in älteren Versionen von Excel verfügbar, jedoch kann die VBA-Implementierung variieren.

3. Was mache ich, wenn ich keine VBA-Kenntnisse habe?
Du kannst die Filterfunktion in Excel verwenden, die keine Programmierkenntnisse erfordert. Sie ist einfach zu bedienen und erfüllt viele Anforderungen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige