使用VBA if语句使用按钮隐藏/取消隐藏列
我正在尝试创建一个可点击的切换按钮,如果数据当前未隐藏,则隐藏一年的数据;如果数据已隐藏,则取消隐藏。我知道这种语法是不正确的,但我不知道如何使它工作。任何帮助都将不胜感激使用VBA if语句使用按钮隐藏/取消隐藏列,vba,excel,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.V
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
只能在上运行
根据Scott的评论进行编辑:
Yr2012.EntireColumn.Hidden = Not Yr2012.EntireColumn.Hidden
更优雅。这对我很有用。显然,
hidden
只能在上运行
根据Scott的评论进行编辑:
Yr2012.EntireColumn.Hidden = Not Yr2012.EntireColumn.Hidden
更加优雅。对@findwindow答案的修改对我来说很有效:
Set Yr2012 = ThisWorkbook.Worksheets("Open Jobs Calculations").Columns("AI:AT") ' <- (ie, set range to the desired columns)
同样的想法,为了减少打字:)对@findwindow答案的修改对我来说很有效:
Set Yr2012 = ThisWorkbook.Worksheets("Open Jobs Calculations").Columns("AI:AT") ' <- (ie, set range to the desired columns)
另一个相同的想法是减少输入:)尝试使用
。可见而不是。隐藏缺失如果结束。另外,您确定要完整列吗?编辑:然后
在错误的行上…@Dave我仍然得到整个事情的语法错误。@findwindow我做了那个更改,但是仍然得到了预期的错误,或者用.Visible
而不是。Hidden
丢失如果
结束。另外,您确定要完整列吗?编辑:然后
在错误的行上……@Dave我仍然得到整个事情的语法错误。@findwindow我做了那个更改,但是仍然得到了预期的错误,或者转到完美!非常感谢。我想你可以用这一行替换IF语句Yr2012.entireclumn.Hidden=不是Yr2012.entireclumn.Hidden
我想,没有测试过。太好了!非常感谢。我认为可以用这一行替换IF语句Yr2012.entireclumn.Hidden=Not Yr2012.entireclumn.Hidden
我认为未测试。