Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gewähltes Filterkriterium in Zelle ausgeben

Forumthread: Gewähltes Filterkriterium in Zelle ausgeben

Gewähltes Filterkriterium in Zelle ausgeben
08.08.2003 11:58:05
wolf
Hallo zusammen,
gibt es eine Möglichkeit, dass ich das gewählte Filterkriterium in
einer Zelle angezeigt bekomme.
Dachte da z.B. als Überschrift wie:
Daten sortiert nach "Januar".
Danke für Eure Hilfe,
Wolf
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gewähltes Filterkriterium in Zelle ausgeben
08.08.2003 12:14:49
Ramses
Hallo,
das könnte dir helfen:
'Autofilterkriterien in einer Zelle darstellen
'Aufruf über =Filterkriterien(Zelle in der Spalte) wo der Filter gesetzt wurde

Function FilterKriterien(rng As Range) As String
'By Stephen Bullen
Dim Filter As String
Filter = ""
On Error GoTo Finish
With rng.Parent.AutoFilter
If Intersect(rng, .Range) Is Nothing Then GoTo Finish
With .Filters(rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " UND " & .Criteria2
Case xlOr
Filter = Filter & " ODER " & .Criteria2
End Select
End With
End With
Finish:
FilterKriterien = Filter
End Function

Gruss Rainer

Anzeige
AW: Gewähltes Filterkriterium in Zelle ausgeben
08.08.2003 12:50:41
wolf
Danke für die Hilfe,
noch eine Frage, da ich mich mit Makros nicht so gut auskenne:
Makro hab ich zwar eingefügt, aber was bedeutet
=Filterkriterien(Zelle in der Spalte) wo der Filter gesetzt wurde???
Was muss ich da einstellen, oder defninieren?
Ist das eine Formel, die ich einfügen soll???
Danke,
Wolf

Anzeige
AW: Gewähltes Filterkriterium in Zelle ausgeben
08.08.2003 13:11:56
th.heinrich
hallo Wolf,
der CODE von Rainer ist eine FUNKTION, die kannst Du ueber den FUNKTIONSASSI unter BENUTZERDEFINIERT aufrufen.
gruss thomas

AW: Gewähltes Filterkriterium in Zelle ausgeben
08.08.2003 13:24:19
Ramses
Hallo,
die Funktion in ein Modul deiner Mappe kopieren und folgendermassen aufrufen
@Rainer
08.08.2003 13:21:57
th.heinrich
hallo Rainer,
moeglicherweise in diesem zusammenhang interessant.
ich habe mal mit GROSSER hilfe von Hans folgendes zusammengebastelt. wimmelt allerdings von SELECT das war mein zutun ;-)

Sub FilterAuslesen()
Dim intcol As Integer
Dim strcriteria As String
'Application.Goto Reference:="Kriterien2"
'Selection.ClearContents
'Application.Goto Reference:="Kriterien1"
'Selection.ClearContents
ScreenUpdating = False
Sheets("statistik").Select
Range("a14").CurrentRegion.Select
Selection.ClearContents
Selection.ClearComments
Sheets("DB_PT-Standard").Select
Range("a13").Select
intcol = 1
Do Until IsEmpty(Cells(13, intcol))
With ActiveSheet.AutoFilter.Filters(intcol)
If .On Then
On Error Resume Next
strcriteria = .Criteria1 '& .Criteria2
strcriteria = strcriteria & .Criteria2
'Else
'strcriteria = .Criteria1 Or .Criteria2
On Error GoTo 0
Worksheets("statistik").Cells(14, intcol).Value = strcriteria
End If
End With
intcol = intcol + 1
Loop
Range("a14").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("statistik").Range("a15")
Sheets("statistik").Select
Call Makro1
Range("w15").Select
ActiveWindow.SmallScroll ToRight:=4
ScreenUpdating = True
End Sub

schaut zwar fuerterlich aus, aber der CODE liest alle AUTOFILTERKRITERIEN aus.
gruss thomas
ps. vielleicht hast Du ein paar anregungen zur optimierung.

Anzeige
Ich kucks mir an,....
08.08.2003 13:27:44
Ramses
Hallo Thomas,
... aber jetzt ist erstmal baden angesagt.
Gruss Rainer

bitte nicht absaufen ;-)) ot.
08.08.2003 13:30:34
th.heinrich
.

AW: @Rainer
08.08.2003 22:42:48
Ramses
Hallo Thomas,
Dein code ist im Prinzip ähnlich aufgebaut wie meiner zum auslesen der Kriterien,
Es gäbe schon ein klein wenig zu optimieren, aber das ist nur Wischi-Waschi-Kosmetik,.. will heissen, dass man eigentlich nichts ändern müsste.
z.B.
strcriteria = .Criteria1 '& .Criteria2
strcriteria = strcriteria & .Criteria2
lässt sich ja nun wirklich zusammenfassen, in der ersten Zeile hast du die gleiche Anweisung wie in Zeile 2, nur hast du sie auskommentiert.
Aber eben,... prinzipiell gut :-)), .... Sehr gut ;-)
Gruss Rainer

Anzeige
stolz :-))
09.08.2003 11:10:53
th.heinrich
hallo Rainer,
danke fuer die blumen, aber wie gesagt das mit der KRITERIENAUSWAHL stammt von Hans.
zu Deinem hinweis. ich kann mich nicht mehr genau erinnern, aber die anweisung der 1. zeile lief nicht, deswegen auskommentiert. was solls, NTaRS.
schoenes WE von thomas

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Gewähltes Filterkriterium in Excel ausgeben


Schritt-für-Schritt-Anleitung

Um die gewählte Filterauswahl in einer Zelle anzuzeigen, kannst Du die folgende benutzerdefinierte Funktion verwenden. Folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinDateiname)" und wähle Einfügen > Modul.
  3. Füge den Code ein:

    • Kopiere den folgenden VBA-Code in das neue Modul:
    Function FilterKriterien(rng As Range) As String
       Dim Filter As String
       Filter = ""
       On Error GoTo Finish
       With rng.Parent.AutoFilter
           If Intersect(rng, .Range) Is Nothing Then GoTo Finish
           With .Filters(rng.Column - .Range.Column + 1)
               If Not .On Then GoTo Finish
               Filter = .Criteria1
               Select Case .Operator
                   Case xlAnd
                       Filter = Filter & " UND " & .Criteria2
                   Case xlOr
                       Filter = Filter & " ODER " & .Criteria2
               End Select
           End With
       End With
    Finish:
       FilterKriterien = Filter
    End Function
  4. Verwende die Funktion in Excel:

    • Gehe zurück zu Deinem Excel-Blatt.
    • In einer Zelle kannst Du nun die Funktion so aufrufen: =FilterKriterien(A1), wobei A1 die Zelle ist, in der der Filter gesetzt wurde.

Häufige Fehler und Lösungen

  • Fehler: "Komponente nicht gefunden"

    • Stelle sicher, dass das AutoFilter-Feature in Deiner Excel-Tabelle aktiviert ist.
  • Funktion gibt nichts zurück

    • Überprüfe, ob der Filter tatsächlich aktiv ist. Wenn der Filter deaktiviert ist, wird keine Auswahl angezeigt.
  • Funktion funktioniert nicht in Excel Online

    • Diese Funktion ist nur in der Desktop-Version von Excel verfügbar.

Alternative Methoden

Wenn Du keine VBA-Funktion verwenden möchtest, kannst Du auch den Excel-Datenschnitt verwenden:

  1. Füge einen Datenschnitt zu Deiner Tabelle hinzu.
  2. Wähle die gewünschte Filterauswahl im Datenschnitt.
  3. Die aktive Filterauswahl wird an der Stelle angezeigt, wo Du den Datenschnitt platziert hast.

Alternativ kannst Du auch die Funktion =TEXTVERKETTEN() nutzen, um mehrere Filterkriterien in einer Zelle zusammenzufassen, falls Du mit den neuesten Excel-Versionen arbeitest.


Praktische Beispiele

  1. Beispiel für eine einfache Filterauswahl:

    • Wenn Du einen Excel-Filter auf die Spalte "Monat" anwendest und "Januar" auswählst, zeigt die Funktion =FilterKriterien(A1) in einer Zelle an: Januar.
  2. Beispiel für mehrere Kriterien:

    • Wenn Du mehrere Filter (z.B. "Januar" und "Februar") anwendest, zeigt die Funktion =FilterKriterien(A1): Januar UND Februar.

Tipps für Profis

  • Nutze benannte Bereiche: Um die Lesbarkeit und Wartbarkeit des Codes zu verbessern, kannst Du benannte Bereiche in Excel verwenden.

  • Erweiterte Filterkriterien: Experimentiere mit komplexeren Filterkriterien in Deiner VBA-Funktion, um spezifischere Daten auszulesen.

  • Automatisierung: Kombiniere diese Funktion mit anderen Makros, um automatisierte Berichte zu erstellen, die selektive Daten anzeigen.


FAQ: Häufige Fragen

1. Wie kann ich die Filterkriterien in einer anderen Zelle anzeigen?
Du kannst die Funktion =FilterKriterien(ZielZelle) in jeder Zelle verwenden, um die aktiven Filterkriterien anzuzeigen.

2. Funktioniert dies in allen Excel-Versionen?
Die VBA-Funktion funktioniert nur in der Desktop-Version von Excel. In Excel Online sind Makros nicht unterstützt.

3. Kann ich die Funktion anpassen?
Ja, Du kannst die VBA-Funktion anpassen, um weitere Filterbedingungen hinzuzufügen oder das Format der Ausgabe zu ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige