Discussion:
Autofilter auslesen
(zu alt für eine Antwort)
Sven
2006-02-03 15:09:49 UTC
Permalink
Hallo zusammen,

wir arbeiten mit einer großen Excel-Tabelle, aus der mittels Autofilter (in
5 Spalten) und Teilergebnis, Diagramme generiert werden.

Gibt es eine Möglichkeit in 5 Zellen den jeweils ausgewählten Begriff des
Autofilters zu schreiben? Beispiel: Spalte B wird gefiltern nach dem Begriff
"Test". Auf einem zweiten Tabellenblatt soll nun in Zelle B1 der Begriff
"Test" erscheinen.

Für Eure Hilfe wäre ich dankbar. Da ich bis jetzt noch nichts mit VBA zu tun
hatte, wäre ich über eine Lösung ohne VBA sehr erfreut.

Gruß und Dank an alle
Thomas Ramel
2006-02-03 15:31:08 UTC
Permalink
Grüezi Sven

Sven schrieb am 03.02.2006
Post by Sven
Gibt es eine Möglichkeit in 5 Zellen den jeweils ausgewählten Begriff des
Autofilters zu schreiben? Beispiel: Spalte B wird gefiltern nach dem Begriff
"Test". Auf einem zweiten Tabellenblatt soll nun in Zelle B1 der Begriff
"Test" erscheinen.
Für Eure Hilfe wäre ich dankbar. Da ich bis jetzt noch nichts mit VBA zu tun
hatte, wäre ich über eine Lösung ohne VBA sehr erfreut.
Ohen VBA ist da IMO nichts machbar, wobei ich dem auch nochmal nachgehen
will.

Du kannst in einem Modul der Mappe die folgenden Zeilen speichern, dann
steht dir im Funktinons-Assistenten von Excel einen neue Funktion zur
Verfügung, die Du wie unten angebeben verwenden kannst um den Inhalt eines
gesetzten Autofilters wiedergeben zu können:

Public Function AF_KRIT(Bereich As Range) As String
'Liest die Kriterien des Autofilters aus und listet diese in einer Zelle
'Als Bezug dient die erste Zelle nach dem Spaltentitel: AF_KRIT(A2)

Dim s_Filter As String

s_Filter = ""
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
s_Filter = .Criteria1
Select Case .Operator
Case xlAnd
s_Filter = s_Filter & " UND " & .Criteria2
Case xlOr
s_Filter = s_Filter & " ODER " & .Criteria2
End Select
End With
End With
Ende:
AF_KRIT = s_Filter
End Function



Mit freundlichen Grüssen
Thomas Ramel (@work)
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Sven
2006-02-03 16:10:34 UTC
Permalink
Hallo Thomas,

trotz meiner schlechten VBA Kentnisse hat alles funktioniert. Genau das was
ich gesucht habe.
Tausend Dank dafür.

Gruß Sven
Post by Thomas Ramel
Grüezi Sven
Sven schrieb am 03.02.2006
Post by Sven
Gibt es eine Möglichkeit in 5 Zellen den jeweils ausgewählten Begriff des
Autofilters zu schreiben? Beispiel: Spalte B wird gefiltern nach dem Begriff
"Test". Auf einem zweiten Tabellenblatt soll nun in Zelle B1 der Begriff
"Test" erscheinen.
Für Eure Hilfe wäre ich dankbar. Da ich bis jetzt noch nichts mit VBA zu tun
hatte, wäre ich über eine Lösung ohne VBA sehr erfreut.
Ohen VBA ist da IMO nichts machbar, wobei ich dem auch nochmal nachgehen
will.
Du kannst in einem Modul der Mappe die folgenden Zeilen speichern, dann
steht dir im Funktinons-Assistenten von Excel einen neue Funktion zur
Verfügung, die Du wie unten angebeben verwenden kannst um den Inhalt eines
Public Function AF_KRIT(Bereich As Range) As String
'Liest die Kriterien des Autofilters aus und listet diese in einer Zelle
'Als Bezug dient die erste Zelle nach dem Spaltentitel: AF_KRIT(A2)
Dim s_Filter As String
s_Filter = ""
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
s_Filter = .Criteria1
Select Case .Operator
Case xlAnd
s_Filter = s_Filter & " UND " & .Criteria2
Case xlOr
s_Filter = s_Filter & " ODER " & .Criteria2
End Select
End With
End With
AF_KRIT = s_Filter
End Function
Mit freundlichen Grüssen
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Thomas Ramel
2006-02-03 20:00:15 UTC
Permalink
Grüezi Sven

Sven schrieb am 03.02.2006
Post by Sven
trotz meiner schlechten VBA Kentnisse hat alles funktioniert. Genau das was
ich gesucht habe.
Tausend Dank dafür.
Super!
Es freut mich, dass Dus so gut hingekriegt hast :-)



Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Michael
2006-05-10 09:56:01 UTC
Permalink
Post by Thomas Ramel
Grüezi Sven
Sven schrieb am 03.02.2006
Post by Sven
Gibt es eine Möglichkeit in 5 Zellen den jeweils ausgewählten Begriff des
Autofilters zu schreiben? Beispiel: Spalte B wird gefiltern nach dem Begriff
"Test". Auf einem zweiten Tabellenblatt soll nun in Zelle B1 der Begriff
"Test" erscheinen.
Für Eure Hilfe wäre ich dankbar. Da ich bis jetzt noch nichts mit VBA zu tun
hatte, wäre ich über eine Lösung ohne VBA sehr erfreut.
Ohen VBA ist da IMO nichts machbar, wobei ich dem auch nochmal nachgehen
will.
Du kannst in einem Modul der Mappe die folgenden Zeilen speichern, dann
steht dir im Funktinons-Assistenten von Excel einen neue Funktion zur
Verfügung, die Du wie unten angebeben verwenden kannst um den Inhalt eines
Public Function AF_KRIT(Bereich As Range) As String
'Liest die Kriterien des Autofilters aus und listet diese in einer Zelle
'Als Bezug dient die erste Zelle nach dem Spaltentitel: AF_KRIT(A2)
Dim s_Filter As String
s_Filter = ""
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
s_Filter = .Criteria1
Select Case .Operator
Case xlAnd
s_Filter = s_Filter & " UND " & .Criteria2
Case xlOr
s_Filter = s_Filter & " ODER " & .Criteria2
End Select
End With
End With
AF_KRIT = s_Filter
End Function
Mit freundlichen Grüssen
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
servus!
der code scheint genau das zu sein, was ich auch brauche!
nur ist mit nicht ganz klar, wo ich den bereich definiere, über dem der
filter hängt, und wo ich die zelle definiere, in die der gefilterte begriff
geschrieben wird.

gruß
Thomas Ramel
2006-05-10 11:51:49 UTC
Permalink
Grüezi Michael

Michael schrieb am 10.05.2006
Post by Michael
servus!
der code scheint genau das zu sein, was ich auch brauche!
Fein; dann öffne den VBA-Editor:

--> Rechtsklick auf einen Tabellenblattreiter
--> Code anzeigen
--> Menü: 'Einfügen'
--> Modul
--> Code wie im obigen Beitrag gepostet 1:1 dort rein kopieren
--> Speichern
--> VBA-Editor mit Alt+Q verlassen
Post by Michael
nur ist mit nicht ganz klar, wo ich den bereich definiere, über dem der
filter hängt, und wo ich die zelle definiere, in die der gefilterte begriff
geschrieben wird.
Nun kannst Du in irgend einer Zelle die Funktion:

=AF_KRIT(A2)

eingeben um das Filterkriterium der Spalte A auszugeben.
Das Kriterium wird dann als Ergebnis der Funktion in der Zelle ausgegeben,
in der die Formel steht - der Bezug (hier 'A2') steht für die Spalte deren
Kriterium Du zurückgeben willst. 'A2' ist am besten die Zelle der
jeweiligen Spaltenüberschrift.


Kommst Du damit klar, oder wo stösst Du auf Probleme?



Mit freundlichen Grüssen
Thomas Ramel (@work)
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Michael
2006-05-11 09:16:02 UTC
Permalink
servus
ja jetzt is alles klar.
funzt tadellos
thx
Thomas Ramel
2006-05-11 09:20:29 UTC
Permalink
Grüezi Michael

Michael schrieb am 11.05.2006
Post by Michael
ja jetzt is alles klar.
funzt tadellos
Fein dass es klappt - und Danke für die Rückmeldung :-)


Mit freundlichen Grüssen
Thomas Ramel (@work)
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Loading...