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

Datumsfilter

Datumsfilter
10.11.2021 18:53:00
Marcus
Hallo zusammen,
ich stehe voll am Schlauch.
Ich möchte das meine Tabelle nach einem Datumsbereich automatisch gefiltert wird.
In Spalte A10 bis A1000 steht das Datum
Jetzt wäre es super wenn ich in A1 das Datum "von" eingebe und in A2 das Datum "bis" eingebe und schwupp schon filtert sich die Tabelle.
Die Tabelle hat mehrere Spalten die sich natürlich mit filtern sollten
Nur wie kann ich das bewerkstelligen?
Ich bräuchte das automatisch da ich mehrere Tabellen habe wo ich danach Daten abfragen möchte.
Danke im voraus

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsfilter
10.11.2021 19:05:33
{Boris}
Hi,
VBA und Datumsfilter ist oft so ne Sache. Zeig mal Deine Beispielmappe mit Deinen Original-Datumsformaten.
VG, Boris
AW: Datumsfilter
10.11.2021 19:30:53
Marcus
Hi danke für die Hilfe, hier wäre ein stark abgespeckte Version
https://www.herber.de/bbs/user/149063.xlsm
Anzeige
AW: Datumsfilter
10.11.2021 19:50:14
{Boris}
Hi Markus,
wie vermutet - nicht ganz "offensichtlich":
In das Codemodul des Blattes "b":

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERR_HANDLER
If Target.Address(0, 0) = "A2" Or Target.Address(0, 0) = "A4" Then
Range("$A$6:$D$736").AutoFilter Field:=1, Criteria1:=">=" & CLng(Range("A2")), Operator:=xlAnd, Criteria2:="
VG, Boris
AW: Datumsfilter
10.11.2021 19:55:49
Marcus
@Boris
ja genau das geht schon in die richtige Richtung, nur leider bekomme ich nur den Filter sprich das Makro zum laufen wenn ich aktiv das Datum ändere und es über eine Verknüpfung ändere. Wie kann man das lösen?
Danke
Marcus
Anzeige
AW: Datumsfilter
10.11.2021 20:02:45
{Boris}
Hi Marcus,
das von mir gewählte Ereignis (Change) reagiert auf direkte Zelländerungen. Wenn das nur eine Verknüpfung ist, muss die sich ja auch ändern - wodurch denn genau?
VG, Boris
AW: Datumsfilter
10.11.2021 20:05:47
Marcus
@Boris
im Blatt Zusammenfassung gebe ich die 2 Datums ein, und diese Datums habe ich mit den einzelnen Blättern verknüpft.
Ich dachte mir das ich von dort aus dann den Filter der Blätter a und b usw. beeinflussen könnte.
Dein Code arbeitet absolut korrekt - ich muss ihn nur irgendwie starten
danke
Marcus
Dann so...
10.11.2021 20:15:52
{Boris}
Hi Marcus,
...sorry - hatte nicht genau genug gelesen.
Diesen Code in das Codemodul der Tabelle "Zusammenfassung":

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERR_HANDLER
If Target.Address(0, 0) = "B1" Or Target.Address(0, 0) = "B2" Then
Tabelle2.Range("A6:D736").AutoFilter Field:=1, Criteria1:=">=" & CLng(Me.Range("B1")), Operator:=xlAnd, Criteria2:="=" & CLng(Me.Range("B1")), Operator:=xlAnd, Criteria2:="
VG, Boris
Anzeige
AW: Dann so...
10.11.2021 20:54:00
Marcus
@Boris
genial DANKESCHÖN funktioniert super
Gruß
Marcus
AW: Dann so...
11.11.2021 23:18:04
Marcus
@Boris,
wie es immer ist, jetzt habe ich meine Datei erweitert und jetzt habe ich ein neues Problem.
A. wenn ich ein Datum eingebe - funktioniert dein Code perfekt, nur wenn ich die Zeilen lösche mit dem Datum, stellt er nicht die ganze Tabelle her? er behält praktisch den Autofilter - gibt es da eine Lösung?
B. was am Code muss ich ändern wenn ich die 2 Datums an einer anderen Stelle stehen haben möchte? also z.B nicht in B1 und B2 sondern in D1 und D2? also einfach die Buchstaben austauschen funktioniert irgendwie nicht?
Danke im voraus Marcus
Anzeige
AW: Dann so...
11.11.2021 23:43:20
{Boris}
Hi Marcus,
teste mal (ebenfalls in das Codemodul der Tabelle "Zusammenfassung":

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERR_HANDLER
If Target.Address(0, 0) = "B1" Or Target.Address(0, 0) = "B2" Then
If IsDate(Target) Then
Tabelle2.Range("A6:D736").AutoFilter Field:=1, Criteria1:=">=" & CLng(Me.Range("B1")), Operator:=xlAnd, Criteria2:="=" & CLng(Me.Range("B1")), Operator:=xlAnd, Criteria2:="
Und ja - wenn die auslösenden Zellen nunmehr D1 und D2 sind, dann änder das entsprechend im Code

If Target.Address(0, 0) = "D1" Or Target.Address(0, 0) = "D2" Then
Was funktioniert bei Dir dabei nicht?
VG, Boris
Anzeige
Und natürlich auch in diesen...
11.11.2021 23:46:15
{Boris}
Hi,
...beiden Zeilen die Zellen anpassen:
Tabelle2.Range("A6:D736").AutoFilter Field:=1, Criteria1:=">=" & CLng(Me.Range("D1")), Operator:=xlAnd, Criteria2:="D2"))
Tabelle3.Range("A6:D736").AutoFilter Field:=1, Criteria1:=">=" & CLng(Me.Range("D1")), Operator:=xlAnd, Criteria2:="D2"))
VG, Boris
AW: Und natürlich auch in diesen...
13.11.2021 09:01:53
Marcus
@Boris
A. Der Fehler mit der Änderung am Zellenbezug - gelöst - ich muss die Arbeitsmappe 1x kpl. schließen und speichern und es funktioniert
B. Die Frage mit dem Zurücksetzen des Filters funktioniert super - ich musste nur die 2 Zeilen löschen
die 2 unter dem Err_Handler
Tabelle2.ShowAllData
Tabelle3.ShowAllData
Ich denke es liegt an meinem Rangehen bei Änderungen, ich ändere es und speichere die Mappe ohne sie zu schließen, daher startet anscheinend die Einstellung nicht richtig?
besten Dank für die Hilfe
Anzeige
AW: Und natürlich auch in diesen...
13.11.2021 16:19:06
{Boris}
Hi Marcus,
mit Schließen / Speichern / Öffnen hat das eigentlich nichts zu tun.
Und Tabelle2 und Tabelle3 sind die Codenamen der Arbeitsblätter - siehe in beigefügtem Editor-Ausschnitt:
Userbild
Die Blattnamen (Zusammenfassung, a und b) stehen in Klammern - der Name davor ist der Codename des jeweiligen Blattes.
VG, Boris
AW: Und natürlich auch in diesen...
13.11.2021 16:31:22
Marcus
@Boris
dann weis ich nicht an was es noch liegen könnte?
Den sobald ich am Code was ändere und die Mappe Neustarte funktioniert alles. Mache ich es anders nicht. Aber nur bei Codes die mit Worksheet change usw. zu tun haben
Gruß
Marcus
Anzeige
Dann lad doch mal...
13.11.2021 17:26:44
{Boris}
Hi Marcus,
...bitte so eine Mappe hoch, wo das bei Dir auftritt.
VG, Boris
AW: Dann lad doch mal...
13.11.2021 18:38:10
{Boris}
Hi Marcus,
ich hab Dir doch vorher was zu den Codenamen der Blätter erzählt - mit Screenshot.
Jetzt schau Dir mal die von Dir im Code verwendeten Codenamen an und vergleich sie links im VBAProjekt-Baum.
Das musst Du halt im Code anpassen.
Zudem hast Du im Open-Ereignis den Blattnamen falsch geschrieben (basic statt Basic - korrekt ist es mit großem B).
Userbild
VG, Boris
Anzeige
AW: Dann lad doch mal...
13.11.2021 18:44:57
Marcus
@Boris
a. der Tipp mit BASIC - danke - total übersehen
b. der Tipp mit Blattnamen - in der echten Datei habe ich es so gemacht wie du gesagt - nur halt in der Demo vergessen - sorry
Konntest du den Fehler nachbilden, das er nur Änderungen nach dem erneuten Öffnen übernimmmt?
Danke für die Zeit und Hilfe
Marcus
Das habe ich gar nicht getestet...
13.11.2021 18:47:30
{Boris}
Hi Marcus,
...weil Dein Code in der Datei schon von Haus aus falsch war - wie beschrieben.
Was soll ich denn mal ganz genau ändern, um das Verhalten bei Dir nachvollziehen zu können?
VG; Boris
AW: Das habe ich gar nicht getestet...
13.11.2021 18:50:32
Marcus
Ich habe nur den Zellen Bezug geändert von B1 und B2 auf E1 und E2, das ging erst nachdem Neuöffnen, der Datei.
Danke Marcus
Anzeige
Nich nachvollziehbar...
13.11.2021 18:56:11
{Boris}
Hi Marcus,
außer der Tatsache, dass der Autofilter in einer der beiden Tabellen gar nicht gesetzt ist (es ist also gar kein Filterpfeil vorhanden - das muss aber natürlich der Fall sein!) - das führt natürlich zu einem Fehler.
Ich kann die Bezüge ändern wie ich will - ohne schließen und neu öffnen.
VG, Boris
AW: Nich nachvollziehbar...
13.11.2021 18:58:30
Marcus
@Boris
ok, bei mir in der Arbeit habe ich 356 Business und zuhause 356 Home, kann es daran liegen?
Gruß
Marcus
Keine Ahnung...
13.11.2021 19:03:24
{Boris}
Hi Marcus,
...ich kann es mir aber ehrlich gesagt nicht vorstellen.
Lad doch mal eine Mappe MIT komplett funktionierendem Code hoch - und dann sag mal, was Du genau änderst - das mach ich dann 1 zu 1 auch und schau, was passiert.
VG, Boris
AW: Das habe ich gar nicht getestet...
13.11.2021 18:56:54
Marcus
Ich habe nur den Zellen Bezug geändert von B1 und B2 auf E1 und E2, das ging erst nachdem Neuöffnen, der Datei.
Danke Marcus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige