如果从B列的下拉列表中选择了“ Camera AXIS check”值,我需要取消隐藏E列。我经历了各种Google搜索,这是我想到的代码,我认为符合我的要求:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Columns("E:E").EntireColumn.Hidden = [B7:B999] = "Camera AXIS check"
End Sub
但是,每当我尝试检查它时,它都不喜欢第3行。
有人可以告诉我我哪里出问题了吗?
为了提供有关该任务的更多详细信息,B列具有来自第7行的这些选择,并且最多可以有无限数量的行,而E列仅适合于显示,只要B列中的选择等于“ Camera AXIS check” ”。
这是完成您所需的适当VBA宏:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "Camera AXIS check" And Target.Column = 2 Then
Columns("E").EntireColumn.Hidden = True
Else
Columns("E").EntireColumn.Hidden = False
End If
End Sub
如果我正确理解了注释,并且在“ B”列中的任何位置,“ Camera AXIS check”都应保持隐藏状态。以下子功能与上面的功能相同,但是还测试了您要查找的值是否在列中的任何位置,如果不存在,则不会重新隐藏该列。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "Camera AXIS check" And Target.Column = 2 Then
Columns("E").EntireColumn.Hidden = False
Else
If IsError(Application.Match("Camera AXIS check", Range("B:B"), 0)) Then
Columns("E").EntireColumn.Hidden = True
End If
End If
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句