У меня есть подпрограмма, которая много раз проводит вычисления. Недавно в Excel 2016 у меня закончилась нехватка памяти.память утечка рабочий лист excel 2016
Следующий демонстрационный код в порядке, 2010, 2013, даже 2016 для Mac, но в 2016 году для Windows он аккумулирует около 500 МБ в памяти, которая не будет выпущена до выхода из Excel. Не уверен, как долго 2016 года ведет себя так; только начал замечать это вчера.
Кажется, что функция рабочего листа вызывает утечку. Я использую несколько функций листа в моем реальном цикле. Любые идеи, как очистить это?
Sub MemTest()
iend = 1000000
For i = 1 To iend
deg2rad = Application.WorksheetFunction.Pi/180
deg2rad = Empty
Next i
End Sub
Как вы видите эти 500M? (это обмен, память процесса и т. д.)? – cutzero
Просто просмотрите диспетчер задач и посмотрите, как заполняется память. Как только Excel достигнет 1,4 ГБ, он начнет сбой. После того, как эта процедура запускается в 2-3 раза, она разбивается. Можете ли вы повторить этот эксперимент и увидеть такое же поведение? – david
нет, попробуйте приведенный ниже пример и проверьте, не вызывает ли утечка памяти, если ваш пример является реальным примером, который вызывает утечку памяти. – cutzero