excel - VBA 根据范围内的单元格值自动隐藏和取消隐藏列。但是需要在顶部添加一个额外的条件
问题描述
我有一个当前自动隐藏或取消隐藏基于特定范围的单元格的代码。目前,每次更改单元格时它都会循环播放,并且我每次都会获得 5-10 秒的蓝色轮子。我希望它根据值是否更改然后运行代码从不同的工作表中提取,如果特定单元格中的值没有更改,则代码不会运行。
所以基本上基于下面的代码。我喜欢代码来查看表格 1 上的特定单元格,单元格 L19,如果该数字发生变化,那么下面的代码将自动启动,如果表格 1 L19 单元格没有改变下面的代码不运行。
目前我的代码是这样的:
Sub Worksheet_Selectionchange(ByVal Target As Range)
Dim ws As Worksheet
Dim r1 As Range
Application.ScreenUpdating = True
Set ws = Sheet6
ActiveSheet.Unprotect "Password"
For Each r1 In ws.Range("G19:AD19")
If r1.Value = "" Then
r1.EntireColumn.Hidden = True
Else
r1.EntireColumn.Hidden = False
End If
Next r1
ActiveSheet.Protect "Password"
End Sub