Ich habe eine Gruppe von Optionsfeldern mit Beschriftungen in benachbarten Zellen. Wie kann ich dafür sorgen, dass das Optionsfeld mit der Beschriftung, die dem Wert einer Zielzelle entspricht, aktiviert wird?
Hier ist ein entsprechendes Beispiel zu dem, was ich erreichen möchte:
Hier sehen Sie zwei Optionsfeldgruppen: „Käufer“ und „Ziel“. Die Beschriftungen befinden sich in Spalte A, die Optionsfeldgruppen in Spalte B und die Zielwerte in Spalte C. Die Werte in Spalte C steuern wir und wir möchten das richtige Optionsfeld aktivieren, indem wir den Wert der Zielzelle in der Liste der Beschriftungen in Spalte A nachschlagen. Das heißt, wenn C2 in „Intern“ geändert wurde, möchten wir, dass das Optionsfeld in Zelle B4 aktiviert wird. Die Optionsfelder in B7 und B8 bleiben hiervon unberührt, da sie sich in einer anderen Gruppe befinden.
Antwort1
Sie müssen den Beschriftungswert nicht wirklich lesen. Sie können die Beschriftungen Optionsfeldern zuweisen und den Wert der ausgewählten Option auf diese Weise ändern.
Sie können dies auf der Worksheet_SelectionChange aufrufen.
Sub reflectCell()
Dim targetedCell As String
targetedCell = Range("A1").Text
Select Case UCase(targetedCell)
Case "RED"
ActiveSheet.OptionButton1.Value = True
Case "BLUE"
ActiveSheet.OptionButton2.Value = True
Case "GREEN"
ActiveSheet.OptionButton3.Value = True
End Select
End Sub
Sofern Sie nicht meinen, dass die Beschriftung ein Zellenwert neben dem Optionsfeld IST, ist die Zielzelle ein statischer Bereichsstandort oder die aktuelle ActiveCell?
Wenn sich die Zielzelle immer an derselben Stelle befindet, können Sie die Eingaberechtschreibung folgendermaßen steuern.
Hier ist ein anderer, einfacherer Ansatz
Eine Lösung ohne Makros, die funktioniert, wenn Sie Formeln auf dem Blatt verwenden können, wird in diesem Screenshot gezeigt
Benennen Sie jedes Optionsfeld mit dem gleichen Namen wie die Beschriftung in Spalte A. Lassen Sie die verknüpfte Zelle eine andere Zelle sein (die versteckt sein kann; Beispiele in E sind die in F angezeigten Formeln). Lassen Sie in dieser Zelle die Eingaben vergleichen, die Sie für jede Zellbeschriftung vornehmen. Nur eine sollte WAHR sein (siehe Beispielformeln).
Somit ist die Option in B2 mit E2 verknüpft, B3 ist mit E3 verknüpft, B7 ist mit E7 verknüpft usw. Wenn Sie die zusätzliche Spalte mit Formeln verwenden dürfen (und diese können überall sein), ist dies viel einfacher als die Verwendung von VBA