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

Forumthread: daten zwischen zwei Datums

daten zwischen zwei Datums
21.11.2018 16:17:37
Jürgen
Hallo zusammen,
ich habe folgendes Problem:
ich will durch VBA Daten zwischen zwei Datums anzeigen lassen. Er Filtert zwar (Spalte D mit den Datum Inhalten) aber das Makro scheint das Startdatum (Zelle H1) und das Enddatum (Zelle I1) zu ignorieren. Ergebnis ist dann, das nach nichts gefiltert wird.
Hier mein Code:

Dim Startdatum As String, Enddatum As String
Dim datVon As Date
Dim datBis As Date
Dim i As Integer
datVon = h1
datBis = i1
Startdatum = CStr(CLng(datVon))
Enddatum = CStr(CLng(datBis))
Sheets("Fehler").Range("d2:d100000").AutoFilter Field:=3, Criteria1:=">=" & Startdatum,  _
Operator:=xlAnd, Criteria2:="

Ich bin für jede Hilfe dankbar!
Gruß Jürgen
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: daten zwischen zwei Datums
21.11.2018 16:21:23
UweD
Hallo
nimm Cdbl anstelle von CStr
Ein Datum wird als Zahl geführt
LG UweD
AW: daten zwischen zwei Datums
21.11.2018 16:29:19
Jürgen
Hallo Uwe,
vielen Dank für deine Antwort!
Habs geändert
Dim Startdatum As String, Enddatum As String
Dim datVon As Date
Dim datBis As Date
Dim i As Integer
datVon = h1
datBis = i1
Startdatum = CDbl(CLng(datVon))
Enddatum = CDbl(CLng(datBis))
Sheets("Fehler").Range("d2:d100000").AutoFilter Field:=3, Criteria1:=">=" & Startdatum, Operator:=xlAnd, Criteria2:="
Aber nach wie vor das gleiche Problem!
Anzeige
musterdatei?
21.11.2018 17:17:30
UweD
AW: musterdatei?
22.11.2018 08:53:58
UweD
Hallo
so klappt es bei mir.
    Dim datVon As Double
    Dim datBis As Double
    Dim i As Integer
 
    datVon = CDbl(Range("h1"))
    datBis = CDbl(Range("i1"))
 
    Sheets("Fehler").Range("d2:d100000").AutoFilter Field:=4, _
        Criteria1:=">=" & datVon, Operator:=xlAnd, Criteria2:="<=" & datBis
LG UweD
Anzeige
AW: musterdatei?
22.11.2018 09:19:42
Jürgen
Hallo Uwe,
super, funktioniert einwandfrei, vielen vielen Dank!
Danke für die Rückmeldung owT
22.11.2018 09:29:08
UweD
AW: daten zwischen zwei Datums
21.11.2018 17:02:05
Daniel
Hi
wenn du den Autofilter per Makro mit Datumswerten füttern willst, musst du das Datum als Text in amerikanischer Schreibweise angeben, dh Monat-Tag-Jahr mit dem Slash "/" als Trennzeichen.
Startdatum = Format(datVon, "MM\/DD\/YYYY")

die Variante von Uwe (Clng = Ganzzahlwert des Datums) funktioniert, wenn du zum Filtern das Zahlenformat der Filterspalte auf Standard stellst.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Daten zwischen zwei Datums filtern in Excel


Schritt-für-Schritt-Anleitung

Um Daten zwischen zwei Datumsangaben in Excel zu filtern, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklicke auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.

  3. Kopiere den folgenden Code:

    Dim datVon As Double, datBis As Double
    datVon = CDbl(Range("H1").Value)
    datBis = CDbl(Range("I1").Value)
    
    Sheets("Fehler").Range("D2:D100000").AutoFilter Field:=4, _
       Criteria1:=">=" & datVon, Operator:=xlAnd, Criteria2:="<=" & datBis
  4. Achte auf das Datumsformat: Stelle sicher, dass die Daten in H1 und I1 im amerikanischen Format (MM/DD/YYYY) vorliegen, wenn Du die Filterfunktion über Makros verwenden möchtest.

  5. Starte das Makro: Führe das Makro aus, um die Daten zu filtern.


Häufige Fehler und Lösungen

  1. Das Makro filtert nicht korrekt: Achte darauf, dass die Zellreferenzen H1 und I1 korrekt sind und die Daten im richtigen Format vorliegen. Die Verwendung von CDbl stellt sicher, dass das Datum als Zahl interpretiert wird.

  2. Fehler bei der Datumsformatierung: Wenn Du ein Datum in Excel eingibst, kann es zu Problemen kommen, wenn das Format nicht den regionalen Einstellungen entspricht. Stelle sicher, dass Du das Datum im amerikanischen Format eingibst.

  3. Automatischer Filter funktioniert nicht: Überprüfe, ob der Autofilter bereits auf die Spalte angewendet wurde. Falls nicht, wende ihn zuerst an.


Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du folgende Methoden nutzen:

  • Excel-Formeln: Verwende die WENN-Funktion, um Daten zu filtern.

    =WENN(UND(A2>=H1; A2<=I1); "In Range"; "Out of Range")
  • Pivot-Tabellen: Erstelle eine Pivot-Tabelle und filtere die Daten nach Datum. Dies ist eine benutzerfreundliche Methode für die Datenanalyse.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du mit Datumsangaben arbeiten kannst:

  • Beispiel 1: Angenommen, Du hast Verkaufsdaten in Spalte D und möchtest alle Verkäufe zwischen dem 01.01.2023 und dem 31.01.2023 anzeigen. Setze H1 auf 01/01/2023 und I1 auf 01/31/2023.

  • Beispiel 2: Wenn Du in einer Datenbank (z.B. Access) mit Datumswerten arbeitest, kannst Du ähnliche Filterlogiken anwenden, um Daten zwischen zwei Werten zu extrahieren.


Tipps für Profis

  • Verwende benannte Bereiche: Definiere H1 und I1 als benannte Bereiche, um den Code lesbarer zu machen.
  • Debugging: Nutze Debug.Print, um die Werte von datVon und datBis während der Laufzeit zu überprüfen.
  • Datumsformatierung: Achte darauf, dass Du in internationalen Projekten immer das Datumsformat anpasst, um Missverständnisse zu vermeiden.

FAQ: Häufige Fragen

1. Wie filtere ich Daten zwischen zwei Datumsangaben ohne VBA?
Du kannst die WENN-Funktion oder Pivot-Tabellen verwenden, um Daten zwischen zwei Datumsangaben zu filtern.

2. Warum funktioniert der Autofilter manchmal nicht?
Stelle sicher, dass die Daten in der zu filternden Spalte richtig formatiert sind und der Autofilter auf die richtige Spalte angewendet wird.

3. Wie gebe ich ein Datum im amerikanischen Format ein?
Gib das Datum im Format MM/DD/YYYY ein, z.B. 12/31/2023 für den 31. Dezember 2023.

4. Kann ich diese Methode auch in Access verwenden?
Ja, die Prinzipien für das Filtern von Daten zwischen zwei Werten sind ähnlich, auch wenn die Implementierung anders ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige