我在我的 Excel 工作表上创建了一个复选框,使用设计模式左键单击它并将其命名为 ChkV,我编写了一个 VBA 代码,但是当我运行它时,我收到一条消息,指出变量未定义。
If ChkV.Value = True Then
' my code
End If
我没有正确标记复选框,我做错了什么?我应该如何解决这个错误?
不应该
If activesheet.Checkboxes("ChkV") = xlOn Then
'your code
End If
?
Sheet module
当您在您所在的位置之外调用您的代码时,您会遇到此错误checkbox
。要改进您的代码,您需要添加对checkbox
所属工作表的引用,例如:
If Sheets("Sheet 1").ChkV.Value = True Then
' my code
End If
嗨,我为此一遍又一遍地打破了我的头,但搜索我发现你需要通过CodeName
's 表或使用OleObjects
ByCode Name
是您在VBA 项目树中看到的方式:
Hoja1.[CheckBoxName].Value
'' In English or what ever you may call your sheet is:
Sheet1.[CheckBoxName].Value
通过OleObjects
是:
Dim Wks as Worksheet
Set Wks = Worksheets("[SheetName]") '' in this case "Prueba"
Wks.OLEObjects("[CheckBoxName]").Object.Value
请注意,我的 Excel 是西班牙文,这就是你看到的原因Hoja1
,英文是英文的Sheet1
,你可以在这里找到其他内容。