检查空值时运行时错误1004

下面的子不工作:

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。

请指教。

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

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

所以SrchRng.Cells(i, 1)

纠正指数后:

 For i = 1 To SrchRng.Rows.Count 

作为替代scheme,您可以:

 dim cell as range For each cell in SrchRng if isempty(cell) then ... 

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