0

我有以下子。该脚本每 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
4

0 回答 0