2013-06-21 41 views
0

我在Excel工作表上使用設計模式創建了一個複選框,我已經將它點擊並命名爲ChkV,並且我編寫了一個VBA代碼,但是當我運行它時,告訴該變量未定義的消息。如何將Excel上的複選框鏈接到VBA代碼

If ChkV.Value = True Then 
     ' my code 
    End If 

我沒有正確標記複選框,我做錯了什麼?我應該如何解決這個錯誤?

+0

右鍵單擊它,選擇屬性,並期待在(名稱)字段。它真的叫做'ChkV'嗎?還是你只是改變標題說ChkV? –

回答

2

豈不是

If activesheet.Checkboxes("ChkV") = xlOn Then 
'your code 
End If 

+0

就是這樣,謝謝! – user2453446

0

當您撥打Sheet module以外的checkbox所在的位置時,發生此錯誤。爲了提高你的代碼,你需要將引用添加到表,其中checkbox屬於,比如:

If Sheets("Sheet 1").ChkV.Value = True Then 
    ' my code 
End If 
0

您好我一遍又一遍地打破我的頭再爲這一點,但搜索我發現,你需要的CodeName指的板材或使用OleObjects

  1. 通過Code Name是您在VBA Project tree怎麼看:

    Hoja1.[CheckBoxName].Value 
    '' In English or what ever you may call your sheet is: 
    Sheet1.[CheckBoxName].Value 
    
  2. 通過OleObjects是:

    Dim Wks as Worksheet 
    Set Wks = Worksheets("[SheetName]") '' in this case "Prueba" 
    Wks.OLEObjects("[CheckBoxName]").Object.Value 
    

請注意,我的Excel在西班牙這就是爲什麼你看到Hoja1,在英語中是Sheet1,你可以找到別的here

VBAProject tree