工作表无效以隐藏我想要的列

时间:2018-08-30 03:33:51

标签: excel vba excel-vba

当我离开工作表时如何隐藏工作表的列?

Private Sub Worksheet_Deactivate()
    Columns("A:K").Select
    Selection.EntireColumn.Hidden = True
    Sheets("MASTER").Select
End Sub

我要在其中隐藏列的工作表是工作表reference

2 个答案:

答案 0 :(得分:1)

由于您要停用工作表,因此默认工作表将成为您切换到的活动工作表,因此,当使用没有工作表引用的范围(即Columns("A:K"))时,它们将引用当前工作表中的列。这就是为什么您应该始终使用对工作表的引用,即

Dim ws As Worksheet
Set ws = Worksheets("reference")

然后使用它来引用其中的范围:

ws.Columns("A:K").EntireColumn.Hidden = True

并不是我摆脱了Select方法,不建议使用。

这可能对您真的很有帮助:How to avoid using Select in Excel VBA

答案 1 :(得分:0)

Columns(“ A:K”)。EntireColumn.Hidden = True