vba - 使用 VBA if 语句通过按钮隐藏/取消隐藏列

标签 vba excel

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

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

最佳答案

这对我有用。显然 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

优雅得多。

关于vba - 使用 VBA if 语句通过按钮隐藏/取消隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37737322/

相关文章:

excel - VBA 除以一个值,然后显示与除法相关的值

vba - 哪个窗口处于事件状态

vba - 从vba打开受密码保护的excel文件,无需密码提示

python - 使用 xlwt/openpyxl 将多种格式应用于单元格的能力

excel VBA 在邮件合并期间提示时自动选​​择是

sql - 关于dsn字符串的查询

python - 使用 xlrd 读取 excel 文件

c# - 仅为 Excel VSTO 注册快捷键

excel - 如何让 Msgbox 有选择地出现或不出现

python - 给定列标题和行值时的单元格值