Frage von patrickR23, 42

Vergleich von Werten und danach Filterung in verschiedenen Tabellenblättern?

Hallo zusammen,

folgende Situation.

Ich habe ein Tabellenblatt A, dass manuell mit Werten gefüllt wird. In Tabellenblatt B habe ich Werte, die aus einer DB-Verbindung kommen.

In Tabellenblatt A wird in Spalte A eine Nummer geführt. Wenn ich auf diese Nummer klicke, dann soll in Tabellenblatt B alle Werte aus Spalte F dort gefiltert werden.

Beispiel: Tabellenblatt A - Spalte A Wert = 123456 Tabellenblatt B - Spalte F - dort soll nach dem Klick auf Tabellenblatt A - Spalte A die Werte in Spalte F mit dem Wert 123456 gefiltert sein.

Hat jemand dazu eine Idee?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Ninombre, Community-Experte für Excel, 24

Um die Idee von Funfroc aufzugreifen mit dem worksheet before doubleclick

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets("Tabelle2").Range("$F$1:$F$100").AutoFilter Field:=1, Criteria1:=Target.Value
End Sub

das wird so aber noch nicht passen, weil Dein Autofilter wohl nicht nur Spalte F umfasst

Das Makro muss im VBA Editor zum Tabellenblatt abgelegt werden, auf dem die Klicks überwacht werden. Das bedeutet allerdings, dass jeder Klick auf dem Tabellenblatt den Filter aktualisiert. Ob das sinnvoll ist, kann ich nicht beurteilen.

Alternative und völlig makrofrei geht es mit Copy/Paste und dem normalen Zahlenfilter

Kommentar von Funfroc ,

F***, echt so einfach... hab mir da wesentlich mehr Code ausgemalt.

Je mehr ich über Excel weis, umso mehr merke ich, dass ich keinen Schimmer habe.

Kommentar von patrickR23 ,

Danke für das Feedback, aber bei mir klappt das nicht.
Die Alternative und Makrofrei mit Copy/Paste geht nicht.

Eventuell hab ich mich falsch ausgedrückt.
In Tabellenblatt A gebe ich in Spalte A Nummern ein, z. B. 123456. Tabellenblatt B wird aus einer DB befüllt und hier sind in Spalte F die Werte, wie z. B. 123456.
Wenn ich nun auf Tabellenblatt A, Spalte A auf einen Wert, z. B. "123456" klicke, dann soll in Tabellenblatt B ein Filter gesetzt werden auf Spalte F Wert =123456.

Kommentar von patrickR23 ,

Korrektur - es funktioniert. Danke!

Kommentar von patrickR23 ,

@Ninombre: Hast Du noch eine Idee, dass man dann gleich auf das gefilterte Tabellenblatt "springt"?

Kommentar von Ninombre ,

als letzte Zeile vor end sub

Sheets("Tabelle2").Select

Antwort
von Dietwald2016, 29

Was heißt gefiltert werden?

Wenn in Tabellenblatt A , Zelle A1 12345 steht, was soll dann in Tabellenblatt B in Zelle F1 stehen? auch 12345?

Oder soll in F2, F3, F4, .. auch etwas Bestimmtes stehen?

Bitte genauer beschreiben.

Kommentar von patrickR23 ,

Wenn in Tabellenblatt A , Zelle A1 12345 steht, was soll dann in Tabellenblatt B in Zelle F1 stehen? auch 12345?

Genau, so soll es sein.

Kommentar von Funfroc ,

sorry, aber das hätte ich jetzt ganz anders verstanden...

meine Interpretation war... und meines Erachtens hast du auch das beschrieben:

Bei Doppelklick Blatt A, Zelle A1 soll der Inhalt dieser Zelle geprüft werden. Nehmen wir als Beispiel "12345" als Inhalt.

Nun soll in Blatt B ein Autofilter erzeugt werden und nach in Spalte F vorhandenen Inhalten "12345" gefiltert werden.

Steht also der Inhalt "12345" in den Zellen F23 und F107, werden beim über den Autofilter nur die Zeilen 23 und 107 angezeigt.

Leider kann ich zur Lösung aber nicht besonders viel beitragen. Meiner Meinung nach brauchts dafür ein Makro. Da bin ich selbst zwar firm genug, um ein mir gegebenes Makro anzupassen, fürs selber schreiben bräuchte ich aber viel Zeit.

Man wird über ein beforedoubleclick-Eregbnis gehen, den Inhalt der geklickten Zelle auslesen und dann eben Filter und Filterargumente per VBA setzen... Aber wissen wie und Script schreiben sind eben 2 paar Schuhe.

LG, Chris

Antwort
von Dietwald2016, 14

In Blatt B auf Zelle F1 klicken, = eingeben, auf Blatt A Klicken, auf Zelle A1  (mit Inhalt 12345) klicken, Return. Nun steht in F1 auch 12345.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten