【发布时间】:2017-07-22 01:24:47
【问题描述】:
我正在运行一个宏来清理工作簿中的空行,并且由于 For 循环的运行方式,它会丢失连续的空行,因为它例如:
- 检查第 14 行
- 删除第 14 行,因为空白
- 第 15 行上移成为新第 14 行
- For 循环移至第 15 行,缺少新的第 14 行
我的(可能有缺陷的)解决方案是在删除将 for 循环递减一步的行之后添加一个步骤,以便它可以连续捕获。
我试过了:
For i = 1 To 2000
If IsEmpty(Cells(i, 6)) = True Then
Rows(i).EntireRow.Delete
i = i - 1
End If
Next i
这似乎无限循环。我还尝试了 i -= 1、--i 等,但由于预期的表达式而失败。 i = --i atleast 运行,但在删除空行方面似乎不起作用。
有什么建议吗?如果遗漏了一些明显的东西,请提前道歉。
【问题讨论】:
标签: excel vba if-statement for-loop