-1
我运行下面的代码,这正是我想要的。 我与它的问题虽然是,当我保持工作表运行一段时间,如10分钟,我得到一个弹出错误消息说我已经用完了内存。用尽VBA内存
有什么我可以放在我的代码,我可以用来防止这种情况?
我的代码如下,
Sub auto_open()
Call ScheduleCopyPriceOver
End Sub
Sub ScheduleCopyPriceOver()
TimeToRun = Now + TimeValue("00:00:10")
Application.OnTime TimeToRun, "CopyPriceOver"
End Sub
Sub CopyPriceOver()
Dim lRow As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Orders")
Application.ScreenUpdating = False
For SRow = 1 To 5000
If ws.Cells(SRow, 19) = SRow Then
ws.Cells(SRow, 12).Select
ActiveCell.FormulaR1C1 = "ready"
Call ScheduleCopyPriceOver
ElseIf ws.Cells(SRow, 20) = SRow Then
ws.Cells(SRow, 12).Select
ActiveCell.FormulaR1C1 = "cancel"
End If
Next
Call ScheduleCopyPriceOver
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime TimeToRun, "CopyPriceOver", , False
End Sub
我刚刚从您的个人资料中注意到您没有接受任何对您最近六个问题的答案。你为什么不花点时间表示对你收到的帮助表示赞赏? – SJR
这是一个过分敏锐的讽刺踢在这里或是这个特别的问题只是完美的网站称为堆栈溢出? – CLR
我想你有一个堆栈溢出! – Blenikos