用宏勾选框

用宏勾选框

请问如何使 Excel 中的复选框与“2 个宏”配合使用?

我需要它,选中时隐藏一些行,取消选中时取消隐藏。我该怎么做?

我有这个宏:

Sub bodnariucova_jednotlivci()
    Columns("U:EW").Hidden = True
End Sub

复选框

编辑:我是这样编辑的

Sub bodnariucova_jednotlivci()
    Dim cBox As CheckBox

    Set cBox = ActiveSheet.CheckBoxes(LName)

    If cBox.Value > 0 Then
    Columns("U:EZ").Hidden = True

    Else
      Columns("U:EZ").Hidden = False
    End If
End Sub

但是当我运行它时,我收到运行时错误“1004”,无法获取类 Worksheet 的属性 CheckBoxes(类似的东西,只是在我的语言中)。

答案1

您不需要两个宏,只需一个宏即可完成。但必须确保您使用 ActiveX 工具栏中的复选框。

编辑:插入新的 CheckBox,右键单击它并选择“显示代码”(或您语言中的类似代码)。新的 Checkbox 的名称为CheckBox1,显示的宏也因此命名CheckBox1_Click()

Private Sub CheckBox1_Click()
   If CheckBox1.Value = True then
       Columns("U:EW").Hidden = True
   Else 
       Columns("U:EW").Hidden = False
   End If
End Sub

利用一些布尔逻辑,您可以简化这个宏:

Private Sub CheckBox1_Click()
    Columns("U:EW").Hidden = CheckBox1.Value
End Sub

相关内容