是否可以选择一个复选框并取消选择其他复选框? (需要VBA)
是的,这是可能的。但为什么不使用选项按钮呢?
无论如何回答您的查询。
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
CheckBox2.Value = False
CheckBox2.Enabled = False
Else
CheckBox2.Enabled = True
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
CheckBox1.Value = False
CheckBox1.Enabled = False
Else
CheckBox1.Enabled = True
End If
End Sub
随访
感谢您的快速更新!复选框和选项按钮有什么区别?我以为他们做同样的事情? - user1204868 48秒前
Excel的VBA 选项按钮(亦称单选按钮)是相同的复选框除了选项按钮依赖于彼此而复选框没有。当您检查一个选项按钮其他选项按钮将自动取消选中。
见下面就他们如何看快照:)
会推荐看到Excel的更多细节内置VBA帮助;)
快照:
HTH
Sid
我也有这个问题,因为我不想在我的表单上使用选项按钮,所以我已经写了一些代码,这种情况下,它的作品!但是,为这个问题编写代码可能更合适。与
(例如你在你形成四个复选框,则在他们的数目没有区别。)
1名您的用户窗体(该复选框上):请执行以下列表在它的属性窗口中有适当的名字。 name属性是属性窗口中的第一个(在字母标签中)。这是为了让我们可以更轻松地使用intelisense列表编写必要的代码时调用用户表单。
例如:userform1
2 - 说出你的复选框,在其属性窗口一个合适的名称。 name属性是属性窗口中的第一个(在字母标签中)。这是为了让我们可以在使用intelisense列表编写必要的代码时更容易接近调用复选框。
例如为:chkbox1,chkbox2,chkbox3和chkbox4
3-点击在用户窗体(在VB编辑器)复选框之一,您会看到已经产生的单击事件。点击右侧下拉列表并选择“更新后”事件。清除该复选框的click事件子例程以清理vb编辑器。
4-在该子之间,例如:
Private Sub Chkbox1_AfterUpdate()
End Sub
我们会写这样的代码:
Private Sub Chkbox1_AfterUpdate()
userform1.Chkbox2.Value = False
userform1.Chkbox3.Value = False
userform1.Chkbox4.Value = False
End Sub
注1:正如你在代码中看到,当用户点击chkbox1 ,会发生后续更新,其中所有chkbox(chkbox1除外)的值都会被调用,并且它们的值会变为false。注意2:正如你所看到的,我们必须为其他复选框的afterupdate事件编写这样的内容,但要小心地为其他复选框编写代码,例如,如果你编写的代码为chkbox1,那么chxbox1应该不会被写在它下面的代码中,这个规则是尊重所有其他复选框。如果您不根据此规则编写代码,那么您的代码将无法正常工作。
5-为其他3个或类似复选框的后续事件写下正确的代码。代码已准备好工作。
如果你想看到的必要的代码(以防万一)的总体视图,4个复选框1个窗体,它应该是这样的:
Private Sub Chkbox1_AfterUpdate()
userform1.Chkbox2.Value = False
userform1.Chkbox3.Value = False
userform1.Chkbox4.Value = False
End Sub
Private Sub Chkbox2_AfterUpdate()
userform1.Chkbox1.Value = False
userform1.Chkbox3.Value = False
userform1.Chkbox4.Value = False
End Sub
Private Sub Chkbox3_AfterUpdate()
userform1.Chkbox1.Value = False
userform1.Chkbox2.Value = False
userform1.Chkbox4.Value = False
End Sub
Private Sub Chkbox4_AfterUpdate()
userform1.Chkbox1.Value = False
userform1.Chkbox2.Value = False
userform1.Chkbox3.Value = False
End Sub
注3:您使用的名称用户表单和复选框取决于你,没有限制。您可以使用匈牙利符号来获得更多专有名称。
感谢您的快速更新!复选框和选项按钮有什么区别?我以为他们做同样的事情? – user1204868 2012-03-20 09:01:09
好..但请不要删除复选框的答案..我认为这也会使其他人受益! :) – user1204868 2012-03-20 09:03:23
以上发布更新:) – 2012-03-20 09:07:55