아래 코드를 실행하면 원하는 결과를 바로 얻을 수 있습니다. 내가 가지고있는 문제는 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
지난 6 개 질문에 대한 답변을 수락하지 않았다는 사실을 귀하의 프로필에서 확인한 것 같습니다. 당신이받은 도움에 대한 감사를 표하는 시간을 가지십시오. – SJR
아이러니 한 느낌이 너무 강렬한가요? 아니면 스택 오버플로라는 사이트에이 특별한 질문입니까? – CLR
거기에 스택 오버플로가 있다고 생각합니다! – Blenikos