VBA: Wert per Klick bzw. Doppelklick an Autofilter übergeben
Problem:
- In Tabellenblatt „Tabelle1“ steht in Spalte A in jeder Zeile eine Identifikationsnummer (also eine Zahl).
- Diese Zahl soll per einfachem Klick bzw. per Doppelklick auf das jeweilige Feld an ein fest vorgegebenes Feld (A2) auf das Tabellenblatt „Tabelle3“ übergeben werden.
- In Tabellenblatt „Tabelle2“ ist eine Liste enthalten, die mehrere Einträge zur gleichen Identifikationsnummer der Tabelle1 enthält (also eine Untertabelle).
- Wenn nun der Benutzer in Tabelle1 einen Doppelklick auf eine Zelle der Spalte A ausführt, wird die jeweilige Identifikationsnummer zuerst nach Tabelle2 in das Feld A2 kopiert. Anschließend wird dieser Wert verwendet, um in Tabelle2 alle Einträge zu filtern, die in Spalte A diesen Wert enthalten.
- Voraussetzung: Lassen Sie sich beide Tabellenfenster gleichzeitig anzeigen (Tabellenblatt „Tabelle1“ auf Bildschirm 1 und Tabellenblatt „Tabelle2“ auf Bildschirm 2).
- Eine Mustertabelle dazu finden Sie hier: Excel Wiedervorlage mit Untertabelle
Lösung für einfachen Klick:
In Tabelle1 wird folgender VBA-Code hinterlegt:
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then Tabelle3.Range("A2").Value = Target.Value Target.Copy End If 'Alternative Variante mit Doppelklick 'Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ' Tabelle3.Range("A2").Value = Target.Value ' Target.Copy ' Cancel = True If Tabelle2.AutoFilterMode Then Tabelle2.AutoFilterMode = False End If If Not ActiveSheet.AutoFilterMode Then Tabelle2.Range("A1").AutoFilter Tabelle2.Range("A1").AutoFilter 1, Tabelle3.Range("A2").Value End If End Sub