Clever-Excel-Forum

Normale Version: VBA Mehrere Tabellen filtern mit einem Klick
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moin zusammen,

meine erste Frage hier. Also gerne darauf hinweisen, falls ich etwas falsch mache :)

Folgende Situation:
Ich habe eine Excel mit diversen Reitern mit jeweils einer definierten und benannten Tabelle. Die erste Spalte ist dabei stets dieselbe, nämlich ADM (= Außendienstmitarbeiter).

Gerne würde ich auf dem ersten Reiter für jeden ADM einen Button erstellen. Klickt er nun auf den Button mit seinem Namen, werden ALLE Tabellen auf den anderen Reitern nach seinem Namen gefiltert.

Eine Google-Recherche hat mich schon so weit gebracht, dass ich wohl ein Makro erstellen muss. Leider hakt es hier bei mir. Ich habe folgendes Makro erstellt:


Code:
Sub FilterADMx()
tlookup = Range("Cover!D2").Value

ActiveSheet.ListObjects("Tabelle16").Range.AutoFilter Field:=1
ActiveSheet.ListObjects("Tabelle12").Range.AutoFilter Field:=1

ActiveSheet.ListObjects("Tabelle16").Range.AutoFilter Field:=1, Criteria1:=tlookup
ActiveSheet.ListObjects("Tabelle12").Range.AutoFilter Field:=1, Criteria1:=tlookup

End Sub



Cover!D2 ist die Zelle, in welcher der Name des ersten ADM steht. Darüber habe ich dann einfach den Button mit seinem Namen gelegt. Die beiden Tabellen 12 und 16 sind Beispieltabellen, es sind deutlich mehr, auf die verwiesen werden soll.

Nun habe ich dem Button das Makro zugewiesen.  Klicke ich darauf erhalte ich die Fehlermeldung "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs." Klicke ich dort auf "Debuggen", hebt er mir gelb die Zeile "ActiveSheet.ListObjects("Tabelle16").Range.AutoFilter Field:=1" hervor.

Mag mir wer helfen? :)

Herzlichen Dank 
(15.10.2020, 12:32)Manlerntnichtaus schrieb: [ -> ]Ich habe eine Excel mit diversen Reitern
[...]
Gerne würde ich auf dem ersten Reiter für jeden ADM einen Button erstellen. Klickt er nun auf den Button mit seinem Namen, werden ALLE Tabellen auf den anderen Reitern nach seinem Namen gefiltert.
Geniale Idee - wenn man es kompliziert machen möchte.
@shift-del: Wenn du eine einfachere Idee hast, lass es mich sehr gerne wissen!
Ganz einfach:
Alle Listen zu einer Liste zusammenführen, als Excel-Tabelle formatieren und einen Datenschnitt für die Spalte ADM einfügen.
Okay, vielleicht hat die Info gefehlt: Die Tabellen sollen schon getrennt bleiben, weil sie für unterschiedliche Reports verwendet werden. Eine einzelne große Tabelle hilft mir hier also nicht, soweit ich sehen kann.
Hallo,

wenn die Tabelle gefiltert ist, hast doch doch deinen Report. Der Drucker druckt nur, was aktuell sichtbar ist. Wie es scheint, greift der Unfug mit den kleinteiligen Datenerfassungen immer weiter um sich. Macht denn niemand eine Excelschulung?
Hi Klaus-Dieter,

danke für deine Antwort. Würde ich das nur für mich machen, wäre ich mit der großen Liste völlig fein. Das Problem ist, dass das Ganze an absolute Excel-Feinde geht, die mit einem einzigen kleinen Klick ihre vielen kleinen Tabellen filtern können, da mehr sie überfordern würde - völlig wertungsfrei :)

Entsprechend wäre es toll, wenn ihr euch mein Makro mal anschauen könntet.
Hallo,

dann müssen die KolegInnen eben geschult werden.

Dein Makro habe ich mir angesehen, ohne die Datei zu kennen, kann man dazu nicht viel sagen.
[attachment=34720]

Danke für den Hinweis. Datenbereinigte Version anbei.

Besagte Mitarbeiter schulen ist leider keine Option...
Die üblichen Gründe, es nicht zu tun: Die Kollegen können keinen Computer bedienen und das haben wir schon immer so gemacht.
Seiten: 1 2