FAQ 0088: Welcher Optionbutton ist ausgewählt?
von Helge Rex
Frage
Welcher Optionbutton ist ausgewählt?
separate Funktion
Folgende Funktion wurde von pks gepostet und setzen voraus, daß die Optionbuttons als Steuerelementefeld angelegt wurden:
Public Function OptionbuttonIndex(optButtons As Object) As Integer Dim i As Long For i = optButtons.LBound To optButtons.UBound If optButtons(i).Value Then OptionbuttonIndex = i Exit Function End If Next OptionbuttonIndex = -1 End Function
MsgBox "Option1(" & CStr(OptionButtonIndex(Option1)) & ") ist markiert."
zusätzliche Variable
Man kann den Index des ausgewählten Optionbuttons in eine zusätzliche Variable schreiben.
Hier ist allerdings nachteilig, daß man für jedes OptionbuttonFeld eine eigene Variable benötigt.
Private lngOptionIndex As Long Private Sub Option1_Click(Index As Integer) lngOptionIndex = Index End Sub
MsgBox "Option1(" & CStr(lngOptionIndex) & ") ist markiert."
zusätzliches Steuerelement
Häufig werden solcherlei Auswahlmöglichkeiten in einem zusätzlichen Steuerelement (meist in einem Frame) untergebracht, um allen Optionbuttons eine gemeinsame Überschrift zu geben und sie zu gruppieren.
Benötigt man bei diesem Steuerelement die Eigenschaft .Tag nicht, kann man den Index des ausgewählten Optionbuttons auch hierin speichern.
Private Sub Option1_Click(Index As Integer) Frame1.Tag = CStr(Index) End Sub
MsgBox "Option1(" & Frame1.Tag & ") ist markiert."
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.