如何将Excel上的复选框链接到VBA代码

时间:2013-06-21 14:03:56

标签: excel vba checkbox

我在Excel工作表上创建了一个复选框,使用设计模式我左键单击它并将其命名为ChkV,我写了一个VBA代码,但是当我运行它时,我收到一条消息,告诉我该变量未定义。

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

我没有正确标记复选框,我做错了什么?我该如何解决这个错误?

3 个答案:

答案 0 :(得分:2)

不应该

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

答案 1 :(得分:0)

当您在Sheet module所在的checkbox之外调用代码时出现此错误。要改进代码,您需要添加checkbox所属的工作表的引用,例如:

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

答案 2 :(得分:0)

嗨我一遍又一遍地为此突然问题,但搜索我发现你需要通过php artisan config:clear表格或使用CodeName

来引用
  1. OleObjects显示Code Name

    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
    
  3. 请注意,我的Excel是西班牙文,这就是为什么你看到Hoja1,英文为Sheet1,你可以找到其他内容VBA Project tree

    here