Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Autofilter über mehrere Tabellenblätter





Frage

Hallo, ich habe ein Sheet mit mehreren Tabellen. Auf dem ersten Blatt habe ich meine "Hauptdaten", wo auch der Autofilter aktiv ist. Auf dem 2ten Blatt stehen zusätzliche Infos. Jetzt die Frage: Wenn ich auf dem ersten Blatt über den Autofilter bestimmte Zeilen selektiert habe, soll auf dem 2ten Blatt automatisch auch diese Selektion übernommen werden, wenn man auf dieses Blatt geht (Auf dem ersten werden Zeile 5 und 8 angezeigt, auf dem 2ten Blatt soll das auch automatisch passieren. Ich hoffe, ich habe mich verständlich ausgedrückt. Gruß Thorsten

Antwort 1 von coros

Hi Thorsten,

irgendwie glaube ich fehlen noch ein paar Infos. Also Frage 1: Hast Du jetzt eine Exceldatei, also Book, mit mehreren Tabellenblätter, also Sheets, oder hast Du ein Tabellenblatt, also Sheet, welches mehrere Tabellen enthält? So wie Du das geschrieben hast, also

Zitat:
ich habe ein Sheet mit mehreren Tabellen


müsste es das zweite sein. Aber ich glaube, Du hast eine Datei mit mehreren Tabellenblättern. Sehe ich das richtig?

Frage 2: Welche Spalte wird gefiltert?

Frage 3: Was meinst Du mit selektieren? Meinst Du markieren oder meinst Du den Bereich, der durch das Kriterium, welches Du auswählst, dann gefiltert und angezeigt wird?

Also wie Du siehst, es fehlt noch einiges, damit Dir geholfen werden kann. Jedenfalls mir fehlen die Infos. Also schreib mal noch etwas.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von totti_242

Hallo Coros,

also, ich werde es nochmal spezifizieren: in einer Excel-Datei (test.xls) gibt es 2 Tabellenblätter: daten1 und daten2. In Daten1 habe ich diverse Spalten und Stammdaten hinterlegt. Auf dem Blatt daten2 habe ich zusätzliche Daten hinterlegt, da ansonsten das Blatt daten1 zu unübersichtlich wird. Die Zeilen in beiden Blättern gehören aber zusammen. Beispiel: Daten1:Zeile5 ist Kunde 4711. Auf dem Blatt daten2 habe ich jetzt in der zeile5 ebenfalls noch Daten zu dem Kunden 4711 hinterlegt.

Jetzt kommt der springende Punkt: Auf dem blatt1 ist der Autofilter aktiv. Wenn ich jetzt aufgrund des Autofilters auf dem blatt daten1 die Zeile5 angezeigt bekomme, möchte ich wenn ich auf das blatt daten2 wechsel, automatisch auch nur die Zeile5 angezeigt bekommen. Eigentlich möchte ich immer die aktiven zeilen aus dem Blatt daten1 auch automatisch auf dem blatt daten2 angezeigt bekommen, wenn ich dahin wechsel. Die filterkritrien auf dem blatt daten1 existieren nicht auf dem blatt daten2, Verknüpfung ist einfach die Zeilennummer.

Puh................

Ich hoffe, das ist ein wenig verständlicher.

schon mal besten Dank und Gruß
Thorsten


Antwort 3 von totti_242

Hallo Coros,

also, ich werde es nochmal spezifizieren: in einer Excel-Datei (test.xls) gibt es 2 Tabellenblätter: daten1 und daten2. In Daten1 habe ich diverse Spalten und Stammdaten hinterlegt. Auf dem Blatt daten2 habe ich zusätzliche Daten hinterlegt, da ansonsten das Blatt daten1 zu unübersichtlich wird. Die Zeilen in beiden Blättern gehören aber zusammen. Beispiel: Daten1:Zeile5 ist Kunde 4711. Auf dem Blatt daten2 habe ich jetzt in der zeile5 ebenfalls noch Daten zu dem Kunden 4711 hinterlegt.

Jetzt kommt der springende Punkt: Auf dem blatt1 ist der Autofilter aktiv. Wenn ich jetzt aufgrund des Autofilters auf dem blatt daten1 die Zeile5 angezeigt bekomme, möchte ich wenn ich auf das blatt daten2 wechsel, automatisch auch nur die Zeile5 angezeigt bekommen. Eigentlich möchte ich immer die aktiven zeilen aus dem Blatt daten1 auch automatisch auf dem blatt daten2 angezeigt bekommen, wenn ich dahin wechsel. Die filterkritrien auf dem blatt daten1 existieren nicht auf dem blatt daten2, Verknüpfung ist einfach die Zeilennummer.

Puh................

Ich hoffe, das ist ein wenig verständlicher.

schon mal besten Dank und Gruß
Thorsten


Antwort 4 von coros

Hi Thorsten,

gibt es denn irgeneinen gemeinschaftlichen Eintrag in den beiden Tabellen, dem man dem Kunden zuordnen kann?. Was ich meine ist, dass bei dem Kunden in einer Spalte etwas steht, was auch in dem 2. Blatt vorkommt, muss nicht unbedingt der Name sein.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von totti_242

Hi,

ja, die gibt es. Habe in beiden Blättern in der ersten Spalte eine eindeutige Kundennummer. Im Blatt daten1 wird diese Nummer eingegeben, im Blatt daten2 wird diese automatisch in der selben Zeile angezeigt (daten2:A1 = daten1:A1 usw.). Hier werden dann nur noch weitere Daten für den Kunden gepflegt.

Gruß
Thorsten


Antwort 6 von coros

Hi Thorsten,

hier ein Lösungsvorschlag. Kopiere nachfolgenden Code in das VBA Projekt des Tabellenblattes mit den Stammdaten (in Deinem Beispiel Daten1).

Private Sub Worksheet_Deactivate()
Ende = [A1].CurrentRegion.Rows.Count
For Wiederholungen = 3 To Ende
If Rows(Wiederholungen).Hidden = False Then
Filterkriterium = Cells(Wiederholungen, 1)
Exit For
End If
Next Wiederholungen
Worksheets("Daten2").Range("A2").AutoFilter _
field:=1, _
Criteria1:=Filterkriterium
End Sub


Bei diesem Code wird beim Deaktivieren des Blattes mit den Stammdaten die Spalte A und dort die erste Zeile von dem Suchergebnis ausgelesen. Nach Deinen Angaben müsste es sich dabei um die Kd-Nr. handeln. Dann wird dieser ausgelesene Wert dazu benutzt, in Blatt Daten2 den Autofilter zu aktivieren und als Suchbegriff die Kd-Nr zu einzutragen. Es wird dann in Blatt 2 ebenfalls die gefilterte Zeile angezeigt. Wenn Dein 2. Tabellenblatt anders als Daten2 heißt, dann in Zeile

Worksheets("Daten2").Range("A2").AutoFilter _


den richtigen Blattnamen zwischen den Anführungsstrichen ("") einsetzen.

Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.

1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.

2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11

3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle)

4. Klicke danach in dem linken Fenster auf den Eintrag Tabelle1(Dein Tabellenname) oder Tabelle2(Dein Tabellenname),bzw die Tabelle, in dem der Code wirken soll.

5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.

Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.

So, ich hoffe es klappt. Wenn nicht, oder bei Fragen melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: