0

下面的子不起作用:

Sub RemoveAllBelowStr()
    Dim SrchRng As Range, i As Integer
    Set SrchRng = ActiveSheet.Range("A1:A700")
    For i = 0 To SrchRng.rows.Count
        If IsEmpty(Cells(i, "A")) Then Exit For 'THIS LINE IS THROWING RUN TIME ERROR
    Next i
    rows(i & ":" & rows.Count).Delete
End Sub

我收到“应用程序定义或对象定义”运行时错误 1004。

请指教。

4

2 回答 2

2

循环必须从 1 开始,而不是 0。

于 2013-09-03T12:58:58.783 回答
1

问题是:Cells(i, "A")

  1. 你需要限定什么细胞,大概是那些SrchRange
  2. 您需要一个数字列索引而不是"A"
  3. 它尝试访问行索引零,但第一个索引是 1

所以SrchRng.Cells(i, 1)

修正指数后:

For i = 1 To SrchRng.Rows.Count

作为替代方案,您可以:

dim cell as range
For each cell in SrchRng
   if isempty(cell) then ...
于 2013-09-03T12:51:20.833 回答