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

Filter setzen mit Klick auf Zelle

Forumthread: Filter setzen mit Klick auf Zelle

Filter setzen mit Klick auf Zelle
29.03.2015 11:59:40
Matti

Hallo liebe Experten,
Ich habe ein großes Problem, welches für euch vermutlich winzig klein ist...
Ich habe ein Tabellenblatt "Start" und ein Tabellenblatt "Filter".
Ich möchte au dem Filterblatt in Spalte A einen Filter setzen durch folgende Aktion:
Das Makro sollte nur starten wenn auf dem Startblatt eine Zelle in Spalte B angeklickt wird (darf nicht leer sein). Der Filterwert für das Filterblatt soll aber nicht die angeklickte Zelle sein sondern der Wert in Spalte T in der Zeile der angeklickten Zelle.
Das übersteigt leider meine Kenntnisse...Ich freue mich über jeden kleinen Hinweis!
Vielen Dank,
Matti

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter setzen mit Klick auf Zelle
29.03.2015 12:09:21
Nepumuk
Hallo,
in das Modul der Tabelle Start:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
        If Target.Count = 1 Then
            If Not IsEmpty(Target.Value) Then
                Call Worksheets("Filter").Rows(1).AutoFilter( _
                    Field:=1, Criteria1:=Cells(Target.Row, 20).Value)
            End If
        End If
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Filter setzen mit Klick auf Zelle
29.03.2015 12:42:11
Matti
Oh wow, das ging ja schnell, werde ich testen und mich wieder melden!
Vielen lieben Dank Nepumuk!!

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Filter setzen mit Klick auf Zelle


Schritt-für-Schritt-Anleitung

Um einen Excel-Filter zu setzen, wenn eine Zelle angeklickt wird, kannst du das folgende VBA-Makro verwenden. Dieses Beispiel setzt den Filter auf einem Tabellenblatt namens "Filter", basierend auf dem Wert einer Zelle in Spalte T des Tabellenblattes "Start".

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Doppelklicke auf das Arbeitsblatt "Start" im Projekt-Explorer.

  3. Füge den folgenden Code in das Modul ein:

    Option Explicit
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Column = 2 Then ' Spalte B
           If Target.Count = 1 Then
               If Not IsEmpty(Target.Value) Then
                   Call Worksheets("Filter").Rows(1).AutoFilter( _
                       Field:=1, Criteria1:=Cells(Target.Row, 20).Value) ' Spalte T
               End If
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Klicke auf eine Zelle in Spalte B des "Start"-Blattes, um den Filter zu aktivieren.


Häufige Fehler und Lösungen

  • Fehler: Der Filter wird nicht gesetzt.

    • Lösung: Stelle sicher, dass du auf eine Zelle in Spalte B klickst, die nicht leer ist. Der Code prüft, ob die Zelle leer ist, bevor der Filter gesetzt wird.
  • Fehler: Der Filter wird nicht auf das richtige Blatt angewendet.

    • Lösung: Überprüfe den Namen des Arbeitsblatts im Code (Worksheets("Filter")). Stelle sicher, dass der Name exakt übereinstimmt.

Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, kannst du die Filterfunktion auch manuell einfügen:

  1. Markiere die Zellen, die gefiltert werden sollen.
  2. Gehe zu Daten > Filter > Filter einfügen.
  3. Setze die Filterkriterien manuell.

Dies ist jedoch weniger dynamisch als die Verwendung eines Makros.


Praktische Beispiele

  • Beispiel 1: Wenn du in Zelle B2 auf dem "Start"-Blatt klickst und der Wert in T2 "WertA" ist, wird der Filter auf dem "Filter"-Blatt so gesetzt, dass nur die Zeilen mit "WertA" in Spalte A angezeigt werden.

  • Beispiel 2: Wenn du in Zelle B3 klickst und T3 den Wert "WertB" hat, wird der Filter entsprechend aktualisiert.


Tipps für Profis

  • Du kannst das Makro anpassen, um mehrere Filterkriterien zu setzen oder zusätzliche Spalten zu filtern.
  • Verwende die Funktion Application.ScreenUpdating = False am Anfang des Makros und Application.ScreenUpdating = True am Ende, um die Leistung zu verbessern und das Flackern des Bildschirms zu vermeiden.
  • Experimentiere mit weiteren VBA-Funktionen, um mehr Flexibilität beim Filtern in Excel zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehrere Spalten zu filtern?
Du kannst zusätzliche AutoFilter-Befehle im Makro hinzufügen, um weitere Kriterien für andere Spalten zu setzen.

2. Was sind Push-Zellen?
Push-Zellen sind Zellen, die durch eine Aktion (wie das Klicken auf eine andere Zelle) aktualisiert oder verändert werden. In diesem Fall wird der Wert in Spalte T als Filterkriterium verwendet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige