我有以下Sub。该脚本使一些信息每15秒写入一个固定长度的表。然后将结果绘制成图形,以创建实时移动的图形感觉。
问题在于,当我取消注释保存工作簿的行时,我注意到在任务管理器中Excel使用更多内存(大约3000KB)并保留它。最终,Excel耗尽内存并崩溃。我已经尝试将我的对象和东西设置为Nothing,但这没有用。这完全归功于保存线,但我不知道为什么。如何保存并避免内存问题?
Sub Record()
Dim BookValueTable As ListObject: Set BookValueTable = Range("bookvalue_table").ListObject
If Sheets("Orders").LoggingButton.Value And _
BookValueTable.Range(BookValueTable.ListRows.Count + 1, 1) <> Now Then
Dim NewRow As ListRow: Set NewRow = BookValueTable.ListRows.Add(AlwaysInsert:=True)
NewRow.Range(1, 1) = Now
NewRow.Range(1, 2) = Sheets("Orders").Range("total_dollar_pnl")
While BookValueTable.ListRows.Count >= 28800
BookValueTable.ListRows(1).Delete
Wend
ThisWorkbook.RefreshAll
If Hour(Now) = 17 Then
Application.OnTime TimeValue("18:00:00"), "Record"
Else
Application.OnTime Now + TimeValue("00:00:" & 15 - (Second(Now) Mod 15)), "Record"
End If
'Workbooks("Book1.xlsm").Save
End If
Set BookValueTable = Nothing
Set NewRow = Nothing
End Sub