Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1536to1540
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

VBA - Filter setzen mit Arrays

VBA - Filter setzen mit Arrays
25.01.2017 18:33:55
Ole
Hallo zusammen,
ich komme an einer Stelle nicht weiter und bitte deswegen um Hilfe.
Ich habe eine Spalte, in die Termine eingetragen werden. Es werden manchmal auch Dummy-Termine eingetragen, falls ein Termin noch nicht feststeht.
Ich möchte die Spalte Filtern: es sollen keine
- leeren Einträge vorhanden sein
- Datumsangaben mit dem Jahr 2099
- Datumsangaben mit dem Jahr 9999
enthalten sein.
Das ist meine Idee, aber es funktioniert leider nicht.
If .Cells(1, j) = "Termin " & Chr(10) & "Beschaffer" Then
.Range("A1: BZ" & LR).AutoFilter Field:=j, Criteria1:=Array(""), Operator:=xlFilterValues, Criteria2:="" & Array(0, "12/31/9999", 0, "12/31/2099")
Ich glaube der Fehler liegt in dem Array bei Criteria2.
Die umgekehrte Variante, also dass nur diese Elemente angezeigt werden sollen, funktioniert:
.Range("A1: BZ" & LR).AutoFilter Field:=j, Criteria1:=Array("="), Operator:=xlFilterValues, Criteria2:=Array(0, "12/31/9999", 0, "12/31/2099")
Ich möchte gern die negierte Variante nutzen, weil neue Werte in die Spalte hinzukommen können.
Vielen Dank im Voraus. :)

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Filter setzen mit Arrays
25.01.2017 19:15:59
ChrisL
Hi Ole
Ungetestet:
    Dim datumVon As Date, datumBis As Date
datumVon = CDate("01.01.1900")
datumBis = CDate("01.01.2098")
With Worksheets("Tabelle1")
On Error Resume Next
.ShowAllData
On Error GoTo 0
.Range("A1:BZ" & LR).AutoFilter Field:=1, Criteria1:=">=" & datumVon * 1, _
Operator:=xlAnd, Criteria2:="

Quelle:
https://www.herber.de/forum/archiv/1488to1492/1489205_Aktuellen_Monat_mit_Autofilter_auslesen.html
Im alten Beitrag ging es zwar um etwas anderes, aber ich denke der Ansatz von Luschi ist auch hier anwendbar.
cu
Chris
Anzeige
AW: VBA - Filter setzen mit Arrays
26.01.2017 17:35:46
Ole
Hey,
vielen Dank für deine Hilfe. Hier sind alle immer so fix, das mag ich. :)
Das war auch ein guter Ansatz den Datumsbereich festzulegen. Ich habe es wie folgt umgesetzt:
Filterkriterium1 = keine leeren Einträge
Filterkriterium2 = nur Einträge, die ein kleineres Datum als heute + 800 Tage haben
Criteria1:=Array("<>"), Operator:=xlAnd, Criteria2:="<" & CDbl(Date+ 800)
So verändert sich die obere Grenze täglich.
Beste Grüße

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige