获得“应用程序定义或对象定义”错误

时间:2013-05-28 11:24:51

标签: excel vba

我编写了下面的代码来检查一行中的两个单元格,如果它们中都有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,但仍然是“对象不支持此属性或方法”错误

请帮助解决这个问题....

1 个答案:

答案 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