0

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

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

4

1 回答 1

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
于 2013-05-28T12:00:56.903 回答