[英]Private Sub Worksheet_Change(ByVal Target As Range) not working always
[英]Private Sub Worksheet_Change(ByVal Target As Range) not working
我正在尝试根据单元格 B3 中的值隐藏行。 这早些时候对我有用,但不幸的是我无法弄清楚我改变了什么。 我右键单击选项卡并将其粘贴到“查看代码”中。 这是我的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
If Range("B3") = "a" Then
ActiveSheet.Rows("40:43").EntireRow.Hidden = False
ElseIf Range("B3") = "b" Then
ActiveSheet.Rows("40:43").EntireRow.Hidden = True
End If
End If
End Sub
您的代码有效,但如果您已经在使用Target
,为什么不使用它的全部功能:
If Target.Address = "$B$3" Then
If Target.Value2 = "a" Then ' <-- use Target.Value2
Rows("40:43").EntireRow.Hidden = False ' <-- there's no need to use ActiveSheet
ElseIf Target.Value2 = "b" Then
Rows("40:43").EntireRow.Hidden = True
End If
End If
注意:不需要使用ActiveSheet
,因为此事件是在ActiveSheet
内部触发的。
如果以后需要添加更多场景,可以使用Select Case
:
If Target.Address = "$B$3" Then
Select Case Target.Value2
Case "a"
Rows("40:43").EntireRow.Hidden = False
Case "b"
Rows("40:43").EntireRow.Hidden = True
Case Else ' in case you want add more scenarios in the future
' do something else...
End Select
End If
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.