2016-06-29 159 views
1

我需要驗證是否在我的vba代碼中檢查了activex複選框,但是,當我嘗試 - 「If Checkbox1.Value = True Then」時,它會詢問未定義的變量。我錯過了什麼?Excel使用vba中的複選框

+0

是你的名爲CheckBox1的複選框? 'Sheet1.CheckBox'如何?它是一個activeX複選框,還是一個表單控件複選框? – JNevill

+0

ActiveX控件和我試過的工作表(「BalanceSheet」)。checkbox1。仍然有問題。它也是活動頁面。 –

+0

你確定它被命名爲Checkbox1?除此之外,我沒有看到代碼有任何問題。 – JNevill

回答

2

如何:

Sub dural() 
    If ActiveSheet.OLEObjects("CheckBox1").Object.Value = True Then 
     MsgBox "it is checked" 
    End If 
End Sub 

enter image description here

注意這是一個 「獨立」 的ActiveX複選框(而不是在一個窗體)

+0

謝謝你的訣竅。 –

-1

嘗試:

If Me.Checkbox1 = True Then 
    'whatever code goes here 
End If 
+0

這是Excel不能訪問vba - 我相信我需要通過表格名稱... –

+0

'Me'在Excel VBA中可以使用,但是在這種情況下它是多餘的。如果此代碼位於工作表的vba代碼中,那麼它將起作用。如果代碼在模塊中,那麼'me'就是引用模塊。 – JNevill

+0

你看了這個論壇嗎? - http://www.mrexcel.com/forum/excel-questions/45786-if-clause-visual-basic-applications-look-checkbox-if-its-checked-not.html – JB28