Excel中的工作表更改[隐藏特定行]

时间:2016-03-10 16:16:30

标签: excel excel-vba vba

这是该文件的屏幕截图。 enter image description here

我在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

我已将选项更改为宏启用。代码应该可以工作,但它没有到达那里。

1 个答案:

答案 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 代码表或模块代码表。右键单击工作表的名称选项卡,然后选择查看代码是确保您在正确位置的最快捷方式。