Refer to controls by group name.
Dim op as Control
for each op in Userform1.Controls
if typeof op is Msforms.OptionButton then
if op.value then cnt = cnt + 1
end if
Next
if cnt < 5 then
msgbox "Please verify that the evaluation is complete."
end if
--
Regards,
Tom Ogilvy
"stewart" wrote:
I have a userfrom that functions as an employee evaluation. There are
several areas of evaluation that I have assigned option buttons to.
There are four option buttons to each criteria. When the user is done
evaluating I want to verify that each criteria has been evaluated.
What I have works but it is repetitive and seems like there should be
a more efficient way to achieve my desired results. Is there a way to
check if all optionbuttons in a group are false? Below is my code.
Any help would be appreciated.
sub verify()
If opt1.Value = False And opt2.Value = False And opt3.Value = False
And opt4.Value = False Then
GoTo 2
ElseIf opt5.Value = False And opt6.Value = False And
opt7.Value = False And opt8.Value = False Then
GoTo 2
ElseIf opt9.Value = False And opt10.Value = False And
opt11.Value = False And opt12.Value = False Then
GoTo 2
ElseIf opt13.Value = False And opt14.Value = False And
opt15.Value = False And opt16.Value = False Then
GoTo 2
ElseIf opt17.Value = False And opt18.Value = False And
opt19.Value = False And opt20.Value = False Then
GoTo 2
End If
exit sub
2: msgbox "Please verify that the evaluation is complete."
end sub
|