VBA单选按钮:选择至少一个选项

时间:2017-11-28 09:37:21

标签: excel vba excel-vba button userform

我有一个包含6个不同类别的用户表单,用户必须在0-4之间选择一个选项。每个选项都可以通过一个单选按钮进行选择,该单选按钮的设定值将写入父表中。属于某个类别的每组单选按钮都被分组(a-e)。

有人可以帮我实施一种机制,使用户必须通过显示提示用户选择选项的消息来选择每个类别中的一个选项吗?

工作流程如下:

用户选择选项 - >选定的选项写在表格中 - >表格上的Unload Me

理想情况下,如果写入all的宏是"暂停" (不进行Unload Me)。而是显示消息,然后表单保持原样,以便用户可以返回并继续,而无需重做整个过程。

编辑:

感谢您的帮助。希望这更容易:

我使用的代码是由"注册分数"我已经放在包含所有单选按钮的UserForm上的按钮。该按钮包含以下代码(其中 aa =第一个单选按钮):

Private Sub CommandButton1_Click()
If aa.Value = False Then
MsgBox ("Please select at least one option")
Else
Range("A" & Rows.Count).End(xlUp).Offset(1).Value = "Category A"
Range("B" & Rows.Count).End(xlUp).Offset(1).Value = "0"
End If
Unload Me
End sub

我现在为每个单选按钮重复此代码。问题是,如果用户例如在每个类别中正确选择单选按钮但忘记了第一个,则表单将重置意味着用户必须重新执行整个操作。我当然也可以添加(为了简单起见,我在这里只包含了单选按钮,但正确的代码当然包括所有按钮):

Private Sub CommandButton1_Click()
If aa.Value = False and ab.Value = False And ac.Value = False Then
MsgBox ("Please select at least one option")

在这种情况下,用户必须为每个类别选择一个选项,但它也会重置整个表单,这意味着您必须重做所有内容。

1 个答案:

答案 0 :(得分:1)

如下:

If Radio1.value = False And Radio2.value = False And Radio3.value = False And Radio4.value = False then
  Msgbox "Please select something from the first four Radio Buttons"
Exit Sub
End if