Excel 调用多个userform选项按钮的快捷方式?

Excel 调用多个userform选项按钮的快捷方式?,excel,vba,userform,radio-button,Excel,Vba,Userform,Radio Button,我有一个带有25个OptionButton的用户表单(OptionButton1、OptionButton2等) 实际上,为了调用这些选项中的每一个,我创建了private subs OptionButton1\u Click、OptionButton2\u Click等 有没有办法访问不同的选项而不创建25个不同的Sub?(即OptionButton[x]\u单击)您可以循环浏览所有选项按钮。例如: for i = 1 to 25 If Controls("OptionButton"

我有一个带有25个OptionButton的用户表单(OptionButton1、OptionButton2等)

实际上,为了调用这些选项中的每一个,我创建了private subs OptionButton1\u Click、OptionButton2\u Click等


有没有办法访问不同的选项而不创建25个不同的Sub?(即OptionButton[x]\u单击)

您可以循环浏览所有选项按钮。例如:

for i = 1 to 25

    If Controls("OptionButton" & i).Value = True Then

       'perform operation if OptionButton is clicked

     End If

Next i

我认为简短的答案是否定的,但不妨找一份有趣的工作。实际上,你可以伪造一个控制数组


除了在帖子中提到的外,你还可以考虑在OptudioPosik.tag中存储某种标签,这样当点击时你可以(如果你愿意)知道点击了哪个按钮。< /P>如果每个选项按钮都有不同的名称,我如何激活这个循环,而不需要25个不同的OpOutStudio[i]。_单击子按钮?如果它们不是OptionButton1、OptionButton2、Optionbutton3等格式。。。那我写的代码就不行了。我的建议是将您所有的选项按钮名称更改为OptionButton1、OptionButton2等。它们的名称如下。我只是不确定该如何激活For循环。我应该把代码放在哪里?如果我把它放在userforminitialize子项下,它将在开始时运行一次,不会发生任何事情,因为这些选项按钮都没有被单击过。我认为这需要一个命令按钮,我不希望使用它。是的,我不认为这是可能的,但这是一个很好的解决办法。我决定最好创建25个私有sub,设置变量并用代码调用另一个sub。但我以后会记住这一点。谢谢大家的帮助。事实上,我认为制作25个调用中心方法的方法是最明智的选择——这是我应该做的。清晰(几乎)总是比代码长度更重要。