Excel VBA – 隐藏所有行其中value =活动单元格偏移单元格值?

我有一个电子表格布局如下:

ABC 12 Row1 Click to Hide 12 Row2 Click to Hide 5 Row3 Click to Hide 4 Row4 Click to Hide 12 Row5 Click to Hide 

我正在使用以下vba代码来尝试隐藏与用户单击以隐藏的activeCell行共享相同数字(在列A中)的所有行。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(ActiveCell, Range("C:C")) Is Nothing And ActiveCell.Value = "Click to Hide" Then Dim Cell As Range Application.ScreenUpdating = False Range("A4").End(xlDown).Select For Each Cell In Range(ActiveCell, "A4") Cell.EntireRow.Hidden = ActiveCell.Offset(0, -2) Next Application.ScreenUpdating = True End If End Sub 

因此,举例来说,如果用户在Row1的列C中单击“Click to Hide”,则列A中编号为12的所有行应该被隐藏。

此刻我得到一个错误代码,对象或范围的1004偏移失败。 请有人告诉我我要去哪里错了吗? 提前致谢。

这将隐藏替代行,但隐藏与ActiveCell行:

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("C:C")) Is Nothing And Target.Value = "Click to Hide" Then valu = Cells(Target.Row, 1).Value For i = 1 To ActiveSheet.UsedRange.Rows.Count If Cells(i, 1).Value = valu Then Cells(i, 1).EntireRow.Hidden = True Else Cells(i, 1).EntireRow.Hidden = False End If Next i Target.EntireRow.Hidden = False Else Rows.Hidden = False End If End Sub