【发布时间】:2018-05-11 17:01:40
【问题描述】:
我有一个包含 6 个不同类别的用户表单,用户必须在 0-4 之间选择一个选项。每个选项都可以通过带有设置值的单选按钮进行选择,该设置值将写入父工作表中。属于一个类别的每组单选按钮都被分组 (a-e)。
有人可以帮我实现一种机制,通过显示提示用户选择一个选项的消息,强制用户在每个类别中选择一个选项吗?
工作流程是这样的:
用户选择选项 --> 选择的选项写在工作表中 --> Unload Me 在表单上
理想情况下,最好是“暂停”写入所有的宏(不继续到Unload Me)。而是显示消息,然后表单保持原样,以便用户可以返回并继续,而无需重做整个过程。
编辑:
感谢所有帮助。希望这会让事情变得更容易:
我正在使用的代码是由我放置在包含所有单选按钮的用户窗体上的“注册分数”按钮触发的。该按钮包含以下代码(其中 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
我现在对每个单选按钮重复此代码。问题是,例如,如果用户在每个类别中正确选择了一个单选按钮但忘记了第一个,则表单将重置,这意味着用户必须重新执行整个操作。我当然也可以添加(为了简单起见,我在这里只包含了单选按钮,但正确的代码当然会包含 all 按钮):
Private Sub CommandButton1_Click()
If aa.Value = False and ab.Value = False And ac.Value = False Then
MsgBox ("Please select at least one option")
在这种情况下,用户必须为每个类别选择一个选项,但它也会重置整个表单,这意味着您必须重做所有事情。
【问题讨论】: