我在VBA中使用以下代码,通过更改特定单元格中的值自动隐藏几行。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Set cell = Range("G1")
If Not Application.Intersect(cell, Range(Target.Address)) Is Nothing Then
If Range("G1").Value > 50 Then
Rows("12:17").EntireRow.Hidden = False
Else
Rows("12:17").EntireRow.Hidden = True
End If
End If
End Sub
我已将选项更改为宏启用。代码应该可以工作,但它没有到达那里。
答案 0 :(得分:2)
在VBE中,点击[ctrl] + G进入Immediate window并将其粘贴到Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G1")) Is Nothing Then
Rows("12:17").EntireRow.Hidden = CBool(Range("G1").Value <= 50)
End If
End Sub
,然后在行尾点击输入。
您的代码可以明显减少到以下内容。
if
确保您在工作表代码表中,而不是 ThisWorkbook 代码表或模块代码表。右键单击工作表的名称选项卡,然后选择查看代码是确保您在正确位置的最快捷方式。