使用VBA if语句使用按钮隐藏/取消隐藏列

时间:2016-06-09 22:39:22

标签: excel vba excel-vba

我正在尝试创建一个可点击的切换按钮,如果当前未被隐藏,则会隐藏一年的数据,如果隐藏则取消隐藏。我知道这种语法不正确,但我不知道如何使其工作。任何帮助将不胜感激。

functionCC_B

2 个答案:

答案 0 :(得分:6)

这对我有用。显然hidden仅适用于entire columns

Dim Yr2012 As Range
Set Yr2012 = ThisWorkbook.WorkSheets("Open Jobs Calculations").Range("A1:B10") 'change range

If Yr2012.EntireColumn.Hidden = False Then
     Yr2012.EntireColumn.Hidden = True
ElseIf Yr2012.EntireColumn.Hidden = True Then
    Yr2012.EntireColumn.Hidden = False
End If

根据斯科特的评论编辑:

Yr2012.EntireColumn.Hidden = Not Yr2012.EntireColumn.Hidden

更优雅。

答案 1 :(得分:0)

@ findwindow的答案的修改对我有用:

Set Yr2012 = ThisWorkbook.Worksheets("Open Jobs Calculations").Columns("AI:AT")  ' <- (ie, set range to the desired columns)

然后你仍然可以参考“Yr2012”范围,而不需要“.EntireColumn”:

If Yr2012.Hidden = False Then ... 

再一次采取相同的想法,减少打字:)