
Ich möchte 2 Dropdown-Listen in Excel verknüpfen. Die Suche nach Lösungen führte immer zukaskadierendDropdown-Listen. Ich möchte zwei Dropdown-Listen mit denselben Optionen. Wenn Sie eine ändern, ändert sich auch die andere.
Ich habe versucht, einfach aufeinander zu verweisen, aber natürlich bekomme ich einen Zirkelverweisfehler. Ich würde das gerne ohne VBA machen, wenn möglich, da ich viele davon haben werde, aber wenn das nicht machbar ist, verstehe ich das.
Antwort1
Was Du beschreibst, ist ohne VBA nicht möglich, wenn beide Zellen editierbar sein sollen.
Wie Sie festgestellt haben, entstehen durch das gegenseitige Verweisen dieser Formeln Zirkelbezüge. Selbst wenn es funktionieren würde, würde jede Formel überschrieben, sobald Sie einen Wert aus der Dropdown-Liste auswählen.
Daher ist VBA Ihre einzige Option. Wenn sich die Zellen auf zwei verschiedenen Blättern befinden, könnte der Code dafür folgendermaßen aussehen:
Im Blattmodul von Blatt1:
Private Sub Worksheet_Change(ByVal Target As Range)
' monitor cell A1
If Not Intersect(Target, Range("A1")) Is Nothing Then
Application.EnableEvents = False 'prevent endless loop of events
' copy selected value to Sheet2, cell b1
ThisWorkbook.Worksheets("Sheet2").Range("B1") = Range("A1")
Application.EnableEvents = True
End If
End Sub
Im Tabellenmodul von Sheet2
Private Sub Worksheet_Change(ByVal Target As Range)
' monitor cell B1 on sheet 2
If Not Intersect(Target, Range("B1")) Is Nothing Then
Application.EnableEvents = False 'prevent endless loop of events
' copy selected value to Sheet1, cell A1
ThisWorkbook.Worksheets("Sheet1").Range("A1") = Range("B1")
Application.EnableEvents = True
End If
End Sub
Antwort2
Wie Teylyn erklärt hat, ist es nicht möglich, es genau so zu realisieren, wie Sie es gerne hätten.
Ein weiterer Workaround neben VBA besteht darin, die Dropdown-Liste des Formularsteuerelements anstelle der Liste bei der Datenüberprüfung zu verwenden:
- Gehen Sie zur Registerkarte „Entwickler“ (falls nicht sichtbar, aktivieren Sie sie gemäß den AnweisungenHier) - Einfügen - Formularsteuerelemente - „Kombinationsfeld (Formularsteuerelement)“
- Fügen Sie es ein und passen Sie die Größe so an, dass es eine Zelle abdeckt
- Klicken Sie mit der rechten Maustaste darauf und wählen Sie „Steuerung“.
- Geben Sie „Eingabebereich“ und „Zellenverknüpfung“ ein.
- kopieren Sie es und fügen Sie es woanders ein. Da beide nun über dieselbe Zellenverknüpfung verfügen, wird, wenn Sie eine davon ändern, auch die andere aktualisiert.