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

Forumthread: FilterKriterium aus Zelle auslesen

FilterKriterium aus Zelle auslesen
10.04.2013 23:44:54
WalterK
Hallo,
ich möchte das Kriterium für den Autofilter aus der Zelle C1 holen. Dort steht z.B. LK2008, ich brauche davon aber immer nur die rechte vierstellige Zahl als Wert.
Irgendwie funktioniert mein Versuch nicht, komme aber nicht drauf, was falsch ist.
Dim FilterLK As Integer
FilterLK = ActiveSheet.Range(Right("C1", 4)).Value
MsgBox FilterLK
.Range("Q2").AutoFilter
.Range("$Q$2:$Q$" & LzA2).AutoFilter Field:=17, Criteria1:=FilterLK
Besten Dank für Eure Hilfe und Servus, Walter

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FilterKriterium aus Zelle auslesen
10.04.2013 23:59:23
Matthias
Hallo
evl. so?
FilterLK = Right(ActiveSheet.Range("C1").Value, 4)
Gruß Matthias

Perfekt, besten Dank Matthias. Servus, Walter
11.04.2013 00:18:37
WalterK

Danke für die Rückmeldung ... kwT
11.04.2013 00:34:20
Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Filterkriterium aus Zelle auslesen in Excel


Schritt-für-Schritt-Anleitung

Um das Filterkriterium aus einer Zelle in Excel auszulesen und für den Autofilter zu verwenden, folge diesen Schritten:

  1. Öffne das 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 (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Gib den folgenden Code ein:

    Sub FilterKriteriumAusZelle()
       Dim FilterLK As String
       FilterLK = Right(ActiveSheet.Range("C1").Value, 4)
    
       ' Autofilter aktivieren
       ActiveSheet.Range("Q2").AutoFilter
       ActiveSheet.Range("$Q$2:$Q$" & ActiveSheet.Cells(Rows.Count, "Q").End(xlUp).Row).AutoFilter Field:=17, Criteria1:=FilterLK
    End Sub
  4. Ändere die Zellreferenzen: Stelle sicher, dass "C1" die Zelle ist, die dein Filterkriterium enthält, und "Q" die Spalte, die gefiltert werden soll.

  5. Führe das Makro aus: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle FilterKriteriumAusZelle und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler 1: "Typenübereinstimmung"
    Ursache: Die Variable FilterLK ist nicht korrekt deklariert.
    Lösung: Stelle sicher, dass FilterLK als String deklariert ist, da es sich um einen Text handelt.

  • Fehler 2: Autofilter wird nicht angewendet
    Ursache: Die Tabelle könnte nicht ordnungsgemäß formatiert sein.
    Lösung: Überprüfe, ob die Spalte "Q" Daten enthält und dass der Autofilter korrekt aktiviert ist.


Alternative Methoden

Eine alternative Möglichkeit, die Excel-Filterauswahl in einer Zelle anzuzeigen, ist die Verwendung von Formeln:

  1. Verwende die Formel in einer benachbarten Zelle:
    • Schreibe in eine Zelle z.B. =RECHTS(C1; 4), um die letzten vier Zeichen von C1 zu extrahieren.
  2. Nutze die Formel als Filterkriterium:
    • Du kannst diese Zelle als Kriterium für den Autofilter verwenden.

Praktische Beispiele

Wenn in der Zelle C1 der Wert "LK2008" steht, wird durch den oben angegebenen VBA-Code automatisch "2008" als Filterkriterium verwendet. Falls Du die Filterauswahl in einer Zelle anzeigen möchtest, kannst Du dies einfach durch die Verwendung der Funktion =RECHTS(C1; 4) in einer neuen Zelle erreichen.


Tipps für Profis

  • Verwende benannte Bereiche: Du kannst benannte Bereiche für deine Daten verwenden, um die Lesbarkeit deines Codes zu verbessern.
  • Fehlerbehandlung einfügen: Füge am Anfang deines Makros eine Fehlerbehandlung ein, um die Ausführung zu sichern und informative Fehlermeldungen anzuzeigen.
On Error GoTo ErrorHandler
' ... dein Code ...
Exit Sub

ErrorHandler:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Wie kann ich den Autofilter für mehrere Kriterien anwenden?
Du kannst die Criteria1 und Criteria2 Parameter verwenden, um mehrere Kriterien in deinem Filter anzuwenden.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, dieser VBA-Code funktioniert in Excel-Versionen ab 2007. Stelle sicher, dass die VBA-Funktionalität aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige