2016-09-16 73 views
0

我在工作表上有4个表格控件选项按钮。如果所有4个选项按钮都未选中,我正试图在打印功能之前设置硬停止。 我已经成功地获得了我所有的复选框(使用形状不是窗体控件)来提示是否留空,但没有得到任何按钮。确定是否所有选项按钮均未在工作表中选中

If ActiveSheet.OptionButtons("button3") = Unchecked _ 
And ActiveSheet.OptionButtons("button20") = Unchecked _ 
And ActiveSheet.OptionButtons("button45") = Unchecked _ 
And ActiveSheet.OptionButtons("buttonEpic") = Unchecked Then 
MsgBox "Missing" 
Cancel = True 
End If 
End Sub 

我也试过= False.value = false。所有按钮目前都未选中,但不会提示消息框或硬件停止。 感谢您的帮助!

+0

也许[这](http://stackoverflow.com/a/30905789/6352151)可以帮助你 –

+0

如果选项按钮被选中,然后'.Value'会= 1个 –

+0

感谢您的评论。我没有遇到VBA识别我不认为的表单控制的麻烦。我可以用代码检查并取消选中按钮,如果不是所有的按钮都被选中/是真的,可以得到一个提示,这将永远是这种情况,因为一次只能选择一个。 – Awill

回答

0

一个非常简单的解决方法,因为我能够识别工作表上选中的选项按钮,但如果未选中它,则无法识别。我只是确定是否选中了4个按钮中的一个,如果这是真的,则不执行任何操作,如果为false,则取消。

Private Sub Workbook_BeforePrint (Cancel as Boolean) 

With ActiveSheet 
If .Optionbuttons ("button1").Value = Checked _ 
Or .Optionbuttons ("button2").Value = Checked _ 
Or .Optionbuttons ("button3").Value = Checked Then 
Exit Sub 
Else: Msgbox "Please select an option" 
Cancel = True 
End If 
End With 
End Sub 
相关问题