如果单元格具有给定值,则隐藏列

我想隐藏一些列,如果A1改变,但我担心的functionWorksheet_Change不起作用。

我有下面的代码,但如果我改变A1没有任何反应。

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "A1" Then Call hideColumns() ' ' End If End Sub 

改成

 If Target.Address = "$A$1" Then 

或者可能使用(我最喜欢的):

 If Not Intersect(Target, Range("A1")) Is Nothing Then 

隐藏列列(“B”)。EntireColumn.Hidden = False / True或隐藏行行 (“2:2”)。EntireRow.Hidden = False / True

 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = 0 If Not Intersect(Target, ([A1])) Is Nothing Then If Target.Value = "" Then Columns("D").EntireColumn.Hidden = False Else Columns("D").EntireColumn.Hidden = True End If End If Application.EnableEvents = 1 End Sub 

Range.Hidden属性(Excel) 返回或设置Variant值,该值指示行或列是否隐藏,将Set属性设置为True以隐藏行或列。 指定的范围必须跨越整个列或行。


Application.EnableEvents属性(Excel)Excel中的 EnableEvents应用程序属性VBA用于为指定的对象启用事件。 它的布尔值是True或False。