This article was previously published under Q147673
This article has been archived. It is offered "as is" and will no longer be updated.
This article describes a function you can use to determine which optionbutton in a control array is selected.
A common programming task in Visual Basic, given a control array of optionbuttons, is to determine which option button in the array is selected. Theoption button that is selected will have its Value property set to True,while all others will have Value properties of False. This article outlinesa short function that will return the index of the selected option buttonwhen it is passed a reference to a control array of option buttons. It willwork correctly even when some indexes are skipped or not present in thecontrol array. In addition, to avoid logic errors in writing code, it willfail and return a -1 if it is passed a control array of another type ofobject (like a check box). The function was contributed by Bruce McKinney,author of Hardcore Visual Basic, which is published by Microsoft Press.
The code for the function is:
Function GetOption(opts As Object) As Integer On Error GoTo GetOptionFail Dim opt As OptionButton For Each opt In opts If opt.Value Then GetOption = opt.Index Exit Function End If NextGetOptionFail: GetOption = -1End Function