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.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: