我编写了下面的代码来检查一行中的两个单元格,如果它们中都有0,那么它应该隐藏该行
For Each rr In Range("I17:I28") 'rr is defined as range
If rr = 0 Then
If ActiveCell.Offset(0, -3).Range(rr).Value = 0 Then ' getting error in this line
ActiveCell.EntireRow.Select
Selection.EntireRow.Hidden = True
Range("B16").Select
Else
ActiveCell.EntireRow.Select
Selection.EntireRow.Hidden = False
Range("B16").Select
End If
End If
Next
但我得到“应用程序定义或对象定义”错误 我尝试将范围(rr)替换为简单的rr,但仍然是“对象不支持此属性或方法”错误
请帮助解决这个问题....
答案 0 :(得分:0)
只需检查下面的代码是否适用于你......如果有两个连续的0,它会隐藏第一行。如果有三个连续的零则隐藏前两个等等......
Sub CheckZeros()
Dim rng As Range
Set rng = ActiveSheet.Range("I17:I28")
For i = 1 To rng.Count
If rng.Cells(i, 1) = rng.Cells(i + 1, 1) And rng.Cells(i, 1) = 0 Then
rng.Cells(i, "I").EntireRow.Hidden = True
End If
Next
End Sub