Я пытаюсь сохранить память в Excel, так как я пытаюсь запустить большую симуляцию Монте-Карло с 30 000 записей и 10 000 симуляций.
Следующие уже реализованные шаги для экономии памяти:
1. Application.ScreenUpdating = False
2. If (sims * inputlength) > 24000000 Then
originalsims = sims
sims = Int((24000000 / inputlength))
repeats = Application.WorksheetFunction.RoundUp((originalsims / sims), 0)
End If
Я понял, что если количество входных данных * моделирования превышает количество 24 млн., Это вызывает проблему с памятью, поэтому я разбиваю общее количество симуляций и повторяю весь процесс x раз, чтобы достичь первоначально желаемого количества симуляций.
3. ActiveWorkbook.Save
Я где-то читал, что если я время от времени сохраняю файл (я делаю это каждые 1000 симуляций), это также сохранит некоторую память.
Вопросы:
Не релевантно -> удалено.
Как еще больше улучшить проблемы с памятью и не допустить запуска макроса прибл. 30 минут каждый раз?