Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1748to1752
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 Autofilter setzen ohne select

VBA Autofilter setzen ohne select
26.03.2020 16:58:00
W
Hallo Forum,
ich möchte beim Aufbau mehrerer Tabellen auch die Möglichkeit für einen Autofilter aktivieren:
With Workbooks(ThisWorkbook.Name).Worksheets(FFiles)
.Cells.Columns.AutoFit
.Range(Cells(1, 1), Cells(FLine, 4)).AutoFilter
End With
Das mit dem "AutoFit" funktionert, das mit dem Autofilter jedoch nicht; dort bekommt ich den Fehler 1004. An dem "." vor dem Range liegt es nicht; ich habe schon beide Versionen versucht.
Keine Probleme habe ich, wenn ich zuerst die Tabelle selektiere und dann den Autofilter aktiviere:
Sheets(FFiles).Select
Range(Cells(1, 1), Cells(FLine, 4)).AutoFilter
Im Forum habe ich zwar ein Beispiel gefunden, doch dort wird ein bestehender Filter angewendet.
Ist mein Problem ohne "select" lösbar?
Gruß W H21

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Autofilter setzen ohne select
26.03.2020 17:04:40
ChrisL
Hi
Hab zwar nur die Hälfte gelesen, aber fällt mir sofort auf (die beiden Punkte) :)
.Range(.Cells(1, 1), .Cells(FLine, 4)).AutoFilter
cu
Chris
AW: VBA Autofilter setzen ohne select
26.03.2020 17:10:50
W
Hallo Chris,
Danke für die schnelle Antwort. Und für den Vorschlag. Mit den beiden vorangestellten Punkten funktionert es. So habe ich noch nie einen Range angegeben.
Wieder einmal das Problem dank dem Forum gelöst.
Gruß W H21
AW: VBA Autofilter setzen ohne select
26.03.2020 17:13:08
onur
Und
Workbooks(ThisWorkbook.Name)

könnte durch
ThisWorkbook

ersetzt werden, aber Beides wäre trotzdem völlig überflüsstig, da sämtliche Worksheet-Angeben ohne explizite Workbook-Angabe immer ThisWorkbok betreffen.
Anzeige
AW: VBA Autofilter setzen ohne select
26.03.2020 17:19:41
ChrisL
Hi onur
Ist Default nicht ActiveWorkbook?
cu
Chris
AW: VBA Autofilter setzen ohne select
26.03.2020 17:26:17
onur
Oooops - Da hast du auch nun wieder Recht :)
AW: VBA Autofilter setzen ohne select
26.03.2020 17:26:20
Daniel
Richtig, default ist ActiveWorkbook, so wie ActiveSheet der Default ist, wenn die Sheetangabe fehlt.
Eine Ausnahme gibt es jedoch:
Wenn der Code in einem Tabellenblattmodul liegt, dann ist dieses Tabellenblatt der Default-Wert, wenn die Blattangabe fehlt.
Gruß Daniel
AW: VBA Autofilter setzen ohne select
26.03.2020 17:28:12
onur
Hätte ich aber trotzdem bedenken müssen!
AW: VBA Autofilter setzen ohne select
26.03.2020 17:22:12
Daniel
Hi
Ein Fehler, den wohl jeder machen muss:
Beachte, das Cells, Range, Rows und Columns ohne Tabellenblattangabe davor immer auf das aktive Tabellenblatt referenzieren.
Das gilt auch, wenn sie innerhalb von anderen Funktionen stehen wie bei Range(Cells(), Cells())
Der Fehler kommt, wenn die Range auf einem anderen Blatt liegen, als die Cells, die die Range definieren.
Da die Cells die Range definieren, darf man das Tabellenblatt vor der Range sogar weglassen, es reicht innerhalb vor den Cells.
Da das recht aufwendig wird, insbesondere dann wenn noch das Worksheet in der Kette mit dazu kommt und man ggf die With-klammer schon anderweitig verwendet, bietet sich die Bereichsbefinition mit Resize an:
.Cells(1, 1).resize(FLine, 4).AutoFilter
Beim Auzofilter kann man, wenn die Tabelle sauber aufgebaut ist, auch die Automatische Bereichserkennung nutzen die aktiv wird, wenn man nur die erste Zelle des Bereichs angibt:
.Cells(1, 1).Autofilter
Gruß Daniel
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige