2016-09-16 72 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 
相關問題