Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
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-Spezialfilter per Zelleingabe aktualisieren

VBA-Spezialfilter per Zelleingabe aktualisieren
28.09.2012 08:57:22
Tom
Hallo Forum,
habe mich mit sehr geringen VBA-Kenntnissen bis jetzt erfolgreich durch Excel gestümpert. Benötige aber jetzt (vermutlich bei einem für Euch Profis trivialen Problem) Hilfe.
Ausgangslage, d.h. die bestehende Datei mit den Blättern:
# DATEN (Rohdaten/Datenquelle)
# FILTER_AUSGABEBEREICH (enthält Kriterienbereich und darunter den Listenbereich)
# AUSWAHL (hier sollen vom Nutzer Filterkriterien eingegeben werden)
Auf das Blatt/Tabelle FILTER_AUSGABEBEREICH wende ich folgenden Code an, den ich in einem VBA-Buch gefunden haben:
---
Option Explicit
Private Sub Worksheet_Change (ByVal Target As Excel.Range)
Dim rngDatenbank As Range
Dim rngFilter As Range
Dim rngAusgabe As Range
Set rngDatenbank = Sheets("DATEN").[A1:Y40000]
Set rngFilter = Sheets("FILTER_AUSGABEBEREICH").[A3:Y4]
Set rngAusgabe = Sheets("FILTER_AUSGABEBEREICH").[A10:Y40010]
If Not (Application.Intersect(rngFilter, Target) Is Nothing) Then
rngDatenbank.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=rngFilter, _
CopyToRange:=rngAusgabe, _
Unique:=True
ActiveCell.Select
End If
End Sub

---
Das funktioniert auch wunderbar und in Verbindung mit Operatoren etc. ist diese Art der Spezialfilternutzung für mich echt ein Meileinstein.
Jetzt zu meinem Anliegen: ich möchte nicht, dass der Nutzer direkt im Blatt FILTER_AUSGABEBEREICH Filterkriterien eingibt, sondern dass diese Kriterien über fünf Zelleinträge in einem neuen Blatt AUSWAHL (der Nutzer kann hier nur bestimmte Filterkriterien angeben) eingegeben werden. Dieses Blatt habe ich erstellt und übergebe diese fünf Einträge aus dem Blatt AUSWAHL per Formel an die entsprechenden Felder des Kriterienbereichs in Blatt FILTER_AUSGABEBEREICH. Dort kommen Sie natürlich auch an. Allerdings rechnet der Filter dann nicht automatisch, sondern ich muss dort explizit eine der angesprochenen Zellen auswählen, z.B. via Taste F2 aktivieren und per Enter auslösen. Erst dann startet die Aktualisierung des Spezialfilters mit den übergebenen Werten.
Per Makrorecorder hatte ich bereits einige laienhafte Versuche zur Aktualisierung des Filters unternommen. Allerdings ohne Erfolg. Frage an das Forum: wie kann ich per VBA, den Filter unter (möglicher) Berücksichtigung des o.g. Codes aktualisieren, wenn ich in einem anderen Blatt Filterkriterien erfasse und diese per Formel übergebe.
Bin für jeden Hinweis dankbar.
Viele Grüße, Tom

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Spezialfilter per Zelleingabe aktualisieren
28.09.2012 10:22:26
guentherh
Hallo Tom,
Um wieder eine automatische Auslösung des Filters zu haben musst Du das "Worksheet_Change" - Ereignis des Blatts AUSWAHL verwenden. Dort kannst Du eine angepasste Variante des obigen Codes hinzufügen
Idealerweise machst Du dich fit was die Ereignisse bedeuten und was Target und Intersect in dem Code bewirken, damit Du den entsprechenden Code schreiben kannst.
Weiter hast Du natürlich die Möglichkeit Deine Datei einzustellen...
Viele Grüße,
Günther
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige