0
我有以下代码来搜索日期列表并删除任何与两年前的日期相关的行。当我跑步时,excel冻结。我是新来的VBA,并认为我可能有使用此特定循环有关的概念误区:对于下一个循环冻结
Sub DeletePriorDates()
'Delete any dates before two years past
Dim twoyrpast As Date
Dim c As Range
Dim DataRange As Range
Set DataRange = Sheet6.Range("A:A")
twoyrpast = DateAdd("yyyy", -2, Sheet1.[B].Value)
For Each c In DataRange
If c < twoyrpast Then c.EntireRow.Delete
Next
End Sub
当我停止运行宏,调试器突出了“下一步”。我已经尝试了Next的不同迭代,并且在线代码看起来几乎完全相同。我找不到我做错了什么。
当删除行建议向后运行循环即'对于i = 100:1个的步骤-1'您的问题作为你造成的通过将DataRange设置为整个列将其置于无限循环中 – Tom
好的,这很好理解。我不熟悉,但现在我会查找它。感谢您的答复! @汤姆 – Kim