Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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 Filtern

VBA Filtern
28.09.2023 10:40:18
Haderlein
Hallo Zusammen,
in Zelle A2 steht eine Jahreszahl wie z.B. 2023 oder 2024.
In Spalte 7 stehen viele Daten wie z.B. 05.02.2023 oder 07.12.2024.
Nun möchte ich mittels VBA die Spalte 7 nach dem Jahr in Zelle A2 filtern. Dazu mein Code:

'Aufträge Starttermin für das jeweilige Jahr filtern
aktuellesJahr = Worksheets("Kapa-Planung").Cells(2, 1)
With ActiveSheet
Set Bereich = Range(Cells(17, 1), Cells(letzteZeileKapa, letzteSpalteKapa))
Bereich.AutoFilter Field:=7, Criteria1:=aktuellesJahr
End With

Leider funktioniert das so nicht. Wie müsste denn der Code richtigerweise lauten, bitte?
Vielen Dank.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Filtern
28.09.2023 10:43:44
RPP63
Moin!
Es dürfte (bei Deiner älteren Excel-Version) das einfachste sein, eine Spalte mit =JAHR(G2) zu machen und diese nach dem Jahr in A2 zu filtern.

Gruß Ralf
AW: VBA Filtern
28.09.2023 13:01:28
daniel
Hi
Bereich.Autofilter Field:=7, Operator:=xlFilterValues, Criteria2:=Array(0, "1/1/" & Range("A2").value)


im Array beschreibt der zweite Wert das Datum, nach dem gefiltert werden soll. Das muss ein Text im amerikanischen Datumsformat sein, dh Monat zuerst und "/" als Trennzeichen.
der zweite Wert gibt dann an, wie gefiltert werden soll:
0 - Jahr
1 - Jahr und Monat
2 - Jahr, Monat und Tag

du kannst hier auch gut den Recorder verwenden um herauszufinden, wie die verschiedenen Filtereinstellungen programmiert werden.
man muss nur wissen, dass in VBA das Datum hier immer amerikanisch angegeben werden muss, auch wenn der Recorder die deutsche Schreibweise aufzeichnet, dann muss der Code entsprechend angepasst werden.

Gruß Daniel
Anzeige
AW: VBA Filtern
29.09.2023 08:26:08
Haderlein
Hallo Zusammen,
vielen Dank für die Rückmeldung, habe Daniels Vorschlag verwendet und es funktioniert wie gewollt.
Dank an alle.
AW: VBA Filtern
28.09.2023 10:53:35
snb
Sub M_snb()

with sheets("Kapa-Planung").Cells(17, 1).currentregion
.AutoFilter 7, .parent.cells(2,1)
End With
End Sub
AW: VBA Filtern
28.09.2023 12:07:10
Yal
Hallo Hader,

was Du als Jahr verstehst, ist für Excel ein Zahl.

In der Spalte G sind wiederum Datum vorhanden. Auch Zahlen. Aber 01.01.2023 ist 44.927 und 01.01.1970 25.569 (1.1.1900 ist Tag 1)
Wie Du jetzt siehst, wird es schwierig "2023" in diese Spalte zu finden.

2 Möglichkeiten:
von Ralf vorgeschlagen: aus dem Datum das Jahr als Zahl zu extrahieren und darauf filtern.
oder ein von-bis Filter einzustellen (der Makrorekorder ist dein Freund). Da muss aus dem Jahreszahl mit DateSerial(aktJahr, 1, 1) und DatSerial(aktJahr;12;31) Anfang- und Enddatum erzeugen.

verwende lieber
aktuellesJahr = Worksheets("Kapa-Planung").Cells(2, 1).Value

als
aktuellesJahr = Worksheets("Kapa-Planung").Cells(2, 1)


VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige