Der OptionButton (Optionsfeld) ist eine Steuerelement aus den ActiveX-Steuerelementen.
Verwende ein OptionButton, um anzuzeigen, ob ein einzelnes Element innerhalb einer Gruppe ausgewählt wurde.
Du willst beispielsweise mit ausgewählten Werten aus der folgenden Liste wahlweise in zwei Verfahren rechnen.
Einerseits sollen die Werte aus B26 und B28 subtrahiert werden, wenn ein OptionButton aktiv ist.
Andererseits sollen die Werte in B27 und B29 multipliziert werden, wenn ein zweiter OptionButton aktiv ist.
Füge zunächst zwei OptionButton in Dein Arbeitsblatt ein. Gehe dazu im Menü „Entwicklertools“ auf „Einfügen“ und wähle den OptionButton bei den ActiveX-Steuerelementen.
Aktiviere danach eine Zelle Deines Arbeitsblattes, um das Steuerelement einzufügen.
Um den Hintergrund farbig zu gestalten, schaltest Du unter den „Entwicklertools“ in den „Entwurfsmodus“ und rufst „Eigenschaften“ auf.
Wähle unter „BackColor“ eine Farbe aus.
Beide OptionButton stehen nun zur Verfügung.
Die Berechnungsergebnisse sollen rechts daneben, in den Zellen D2 bzw. D4 ausgegeben werden.
Eröffne das Makro mit z.B. Sub OptionRechnen() in einem Modul.
Deklariere nun zuerst die Variablen für Dein Makro.
Dim Subtraktion As Long
Dim Multiplikation As Long
Weise ihnen Werte zu.
Subtraktion = Range(„B7“).Value – Range(„B9“).Value
Multiplikation = Range(„B8“).Value * Range(„B10“).Value
Weise nun an, was geschehen soll, wenn der OptionButton1 aktiv ist. Das machst Du mit einer If-Anweisung. Die Anweisung lautet, die definierte Subtraktion auszuführen und gleichzeitig das Ergebnisfeld für OptionButton2 zu leeren.
If Worksheets(„Tabelle1“).OptionButton1.Value = True Then
Range(„D2“) = Subtraktion
Range(„D4“).ClearContents
Weise dann an, was geschehen soll, wenn der OptionButton2 aktiv ist. Hier lautet die Anweisung, die definierte Multiplikation auszuführen und das Ergebnisfeld für OptionButton1 zu leeren.
ElseIf Worksheets(„Tabelle1“).OptionButton2.Value = True Then
Range(„D4“) = Multiplikation
Range(„D2“).ClearContents
Beende das Makro mit End If und End Sub.
Komplett sieht das Makro so aus:
Sub OptionRechnen()
Dim Subtraktion As Long
Dim Multiplikation As Long
Subtraktion = Range(„B7“).Value – Range(„B9“).Value
Multiplikation = Range(„B8“).Value * Range(„B10“).Value
If Worksheets(„Tabelle1“).OptionButton1.Value = True Then
Range(„D2“) = Subtraktion
Range(„D4“).ClearContents
ElseIf Worksheets(„Tabelle1“).OptionButton2.Value = True Then
Range(„D4“) = Multiplikation
Range(„D2“).ClearContents
End If
End Sub.
Füge zuletzt auf Deinem Arbeitsblatt noch eine Schaltfläche aus den Formularsteuerelementen ein und weise diesem das Makro „OptionRechnen“ zu.
Aktiviere nun OptionButton1 und klicke auf die Schaltfläche. Es wird die Subtraktion ausgeführt.
Aktiviere jetzt OptionButton2 und klicke auf die Schaltfläche. Es wird die Multiplikation ausgeführt.
Dies war nur ein einfaches Beispiel der Anwendung von OptionButton. Vieles andere ist denkbar.
Z.B. könnte die Aktivierung von OptionButto1 bzw. von OptionButton2 jeweils ein weiteres Makro starten.
Du kannst auch Makros am Steuerelement als Private Sub hinterlegen. Gehe dazu in den Entwurfsmodus, aktiviere das Steuerelement und rufe mit der rechten Taste „Code anzeigen“ auf.
Du gelangst jetzt in den Editor. Die erste und letzte Zeile sind bereits vorgegeben. Füge die Codezeilen dazwischen ein. Ein Klick auf einen OptionButton teilt Dir nun über eine MsgBox z.B. mit, ob ein Gast eine Tasse Kaffee oder eine Tasse Tee wünscht.
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then
MsgBox („Der Gast wünscht eine Tasse Kaffee!“)
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then
MsgBox („Der Gast wünscht eine Tasse Tee!“)
End If
End Sub