我有一个像这样的电子表格:
A B C D E F G
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
当用户点击'点击隐藏'我试图隐藏A列中与该目标行匹配的所有行。
例如,如果用户点击了“点击隐藏”。在第1行的第G列中。如果数字是12,则Row1,Row2和Row5将被隐藏 - 因为这些都具有相同的数字。
然而,为了使问题复杂化,我不想隐藏目标行。这意味着Row1不会被隐藏,而只会隐藏Row2和Row5。
这是我的代码:
'Hide ROws
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("G:G")) 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
代码似乎不起作用,它隐藏了我的电子表格顶部的其他行,这些行是空的,没有匹配的数字。我不确定为什么会这样,请有人告诉我哪里出错了?
提前致谢
答案 0 :(得分:0)
Sub HideRows()
BeginRow = 1
EndRow = 100
ChkCol = 1
For RowCnt = BeginRow To EndRow
If Cells(RowCnt, ChkCol).Value = 12 Then
Cells(RowCnt, ChkCol).EntireRow.Hidden = True
End If
Next RowCnt
End Sub