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

Forumthread: Filter auf mehrere Arbeitsblätter

Filter auf mehrere Arbeitsblätter
17.04.2018 15:17:55
Felix
Sehr geehrte Damen und Herren,
ich würde ein Makro benötigen für folgende Aktion:
Wenn ich in dem Arbeitsblatt "Bauteilauflistung" einen beliebigen Filter setze im Bereich B9:J500, sollte Excel dieses Suchkriterium sich merken (selecten) und dann den selben Filter in dem Arbeitsblatt "Arbeitsplan" setzen.
FYI
Es soll auch funktionieren wenn man mehrere Filter setzt.
Vielleicht kann mir jemand weiter helfen und eventuell bei dem Makro die einzeln Schritte erklären.
Danke & LG
Felix
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Filter auf mehrere Arbeitsblätter
17.04.2018 16:10:03
Daniel
Naja, wenn Excel-Profi angibst, dann sollte man dir eigentlich nicht die einzelnen Schritte erklären müssen.
der folgende Code überträgt die Filtereinstellungen aus dem Tabellenblatt "Tabelle1" in das aktuelle Tabellenblatt.
Die Anpassung des Filters findet statt, wenn man das Blatt aktiviert.
der Code muss ins Modul des Tabellenblatts mit dem Filter ("Arbeitsplan"):
Es wird davon ausgegangen, dass die Spaltenanordnung die gleiche ist.
Die Position des Filters auf dem Blatt "Bauteilauflistung" wird automatisch ermittelt
Im Blatt "Arbeitsplan" musst du sie im Code angeben: Me.Cells(1, 1) hier die Zeile und Spalte der linken Zelle der Überschrift angeben
Private Sub Worksheet_Activate()
Dim i As Long
With Sheets("Bauteilauflistung").AutoFilter.Filters
For i = 1 To .Count
With .Item(i)
If .On Then
On Error Resume Next
Me.Cells(1, 1).AutoFilter field:=i, Criteria1:=.Criteria1
Me.Cells(1, 1).AutoFilter field:=i, Criteria1:=.Criteria1, _
Operator:=.Operator
Me.Cells(1, 1).AutoFilter field:=i, Criteria1:=.Criteria1, _
Criteria2:=.Criteria2, _
Operator:=.Operator
On Error GoTo 0
Else
Me.Cells(1, 1).AutoFilter field:=i
End If
End With
Next
End With
End Sub
Gruß Daniel
Anzeige
AW: Filter auf mehrere Arbeitsblätter
18.04.2018 09:25:35
Felix
Hi Daniel,
danke für die schnelle Antwort,es funktioniert einwandfrei.
Ich hab mir gedacht das Anforderungsprofil um dieses Problem zu lösen benötigt einen Excel-Profi, mein Fehler.
Danke & LG
Felix

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Filter auf mehrere Arbeitsblätter anwenden


Schritt-für-Schritt-Anleitung

Um einen Filter auf mehrere Arbeitsblätter in Excel anzuwenden, kannst Du ein Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, wo Du den Filter setzen möchtest (z.B. "Bauteilauflistung").

  2. Aktiviere den Entwicklermodus (falls noch nicht geschehen) über die Optionen in Excel.

  3. Öffne den Visual Basic for Applications (VBA) Editor durch Drücken von ALT + F11.

  4. Erstelle ein neues Modul oder öffne das bestehende Modul des Arbeitsblatts "Arbeitsplan".

  5. Füge den folgenden VBA-Code ein:

    Private Sub Worksheet_Activate()
    Dim i As Long
    With Sheets("Bauteilauflistung").AutoFilter.Filters
       For i = 1 To .Count
           With .Item(i)
               If .On Then
                   On Error Resume Next
                   Me.Cells(1, 1).AutoFilter field:=i, Criteria1:=.Criteria1
                   Me.Cells(1, 1).AutoFilter field:=i, Criteria1:=.Criteria1, _
                   Operator:=.Operator
                   Me.Cells(1, 1).AutoFilter field:=i, Criteria1:=.Criteria1, _
                   Criteria2:=.Criteria2, _
                   Operator:=.Operator
                   On Error GoTo 0
               Else
                   Me.Cells(1, 1).AutoFilter field:=i
               End If
           End With
       Next
    End With
    End Sub
  6. Schließe den VBA-Editor und speichere Deine Excel-Datei als Makro-fähige Datei (.xlsm).

  7. Teste das Makro, indem Du einen Filter auf dem Arbeitsblatt "Bauteilauflistung" setzt und dann zum Arbeitsblatt "Arbeitsplan" wechselst. Der Filter sollte automatisch übernommen werden.


Häufige Fehler und Lösungen

  • Fehler: Der Filter wird nicht übertragen.

    • Lösung: Stelle sicher, dass die Spaltenanordnung auf beiden Blättern identisch ist, da der Code davon ausgeht.
  • Fehler: Makro läuft nicht.

    • Lösung: Überprüfe, ob Makros in den Excel-Optionen aktiviert sind.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, um Excel-Filter über mehrere Tabellenblätter zu setzen:

  1. Manuelles Kopieren der Filtereinstellungen: Du kannst die Einstellungen manuell von einem Blatt zum anderen kopieren, jedoch ist dies zeitaufwändig.
  2. Verwendung von Pivot-Tabellen: Wenn Du mehrere Filter gleichzeitig anwenden möchtest, kann die Verwendung von Pivot-Tabellen eine gute Alternative sein.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du mehrere Filter gleichzeitig anwenden kannst:

  • Beispiel 1: Angenommen, Du hast eine Liste von Produkten in "Bauteilauflistung" und möchtest sowohl nach Kategorie als auch nach Preis filtern. Setze die Filter für beide Kriterien und wechsle dann zu "Arbeitsplan". Die Einstellungen werden automatisch übernommen.

  • Beispiel 2: Du kannst auch in einer Tabelle mehrere Filter auf einem Tabellenblatt anwenden, um spezifische Daten zu extrahieren.


Tipps für Profis

  • Verwende benutzerdefinierte Filter: Du kannst benutzerdefinierte Kriterien in Deinen Filtern verwenden, um spezifischere Ergebnisse zu erhalten.
  • Kombiniere die Filter mit anderen VBA-Funktionen: Du kannst die Filterfunktion mit anderen VBA-Skripten kombinieren, um automatisierte Berichte zu erstellen.

FAQ: Häufige Fragen

1. Kann ich excel zwei Filter gleichzeitig anwenden?
Ja, Du kannst in Excel mehrere Filter auf einem Tabellenblatt setzen und auch in verschiedenen Arbeitsblättern.

2. Wie kann ich excel mehrere Tabellen filtern?
Durch den Einsatz von VBA-Makros kannst Du die Filter von einem Arbeitsblatt auf ein anderes übertragen, wie in der Schritt-für-Schritt-Anleitung beschrieben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige