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