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

Ton*_*nyP 1 excel vba excel-vba

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

Sub Hide_2012()
Dim Yr2012 As Range
    Set Yr2012 = ThisWorkbook.Worksheets("Open Jobs Calculations").Range("AI:AT")

If Yr2012.Visible = False Then
     Yr2012.Visible = True
Else If Yr2012.Visible = True Then
     Yr2012.Visible = False
End If
Run Code Online (Sandbox Code Playgroud)

fin*_*dow 6

这适合我.显然hidden只适用于整个列.

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
Run Code Online (Sandbox Code Playgroud)

根据斯科特的评论编辑:

Yr2012.EntireColumn.Hidden = Not Yr2012.EntireColumn.Hidden
Run Code Online (Sandbox Code Playgroud)

更优雅.

  • 我想你可以用这一行替换IF语句`Yr2012.EntireColumn.Hidden = Not Yr2012.EntireColumn.Hidden`我想,没有经过测试. (4认同)