带宏的勾选框


0

请如何使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(就像那样,只用我的语言)。

Answers:


0

你不需要两个宏,你可以在一个宏中完成。但必须确保您使用ActiveX工具栏中的CheckBox。

编辑:插入新的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

谢谢,但是当我点击它时,什么也没发生(?)。
罗马Žydyk

是的我做了并尝试了两种变体。
罗马Žydyk

用我所做的所有步骤编辑了我的答案。
IQV

对,就是那样。使用CheckBox1它起作用了。也许我应该重命名该复选框以及代码中的名称?
罗马Žydyk

它似乎是ActiveX工具栏的CheckBox和Contol元素的工具栏之间的区别。我没有设法让它与其他复选框一起工作。
IQV
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.