[英]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.