devxlogo

Find the Selected Control in an Array of Option Buttons

Find the Selected Control in an Array of Option Buttons

Use this code to find the index of the currently selected control in an array of option buttons:

 Function WhichOption(Options As _        Object) As Integer' This function returns the index of the ' Option Button whose value is true.        Dim i        ' In case Options is not a valid         ' object        On Error GoTo WhichOptErr        ' Default to failed        WhichOption = -1        ' check each OptionButton in the         ' array. Note this fails if indices         ' are not consecutive        For i = Options.lbound To _                Options.ubound                If Options(i) Then                        ' when the one set to true is                         ' found, Remember it                        WhichOption = i                        ' and stop looking                        Exit For                End If        NextWhichOptErr:End Function

Call the function with code like this, assuming that iCurOptIndex is an integer and Option1 is the name of anarray of OptionButton controls:

 iCurOptIndex = WhichOption(Option1)

Note the function parameter is an object. This function only works if the parameter is an object or a variant.

devx-admin

Share the Post: