У меня такой же код, который потребляет в 3 раза больше памяти в одном файле по сравнению с другим файлом. Первоначальное использование памяти для обоих файлов составляет чуть менее 500 МБ. Но когда я попадаю в это место в коде, использование памяти возрастает до 3000 МБ в одном файле и до 9800 МБ в другом. Это вызвало проблемы нехватки памяти у некоторых из моих коллег.
На листе «GetAccess» есть таблица, в которой данные выгружаются из таблицы базы данных. Всплески памяти, когда я нажимаю .Refre sh BackGroudQuery: = False
Я использую ту же таблицу в GetAccess для извлечения данных из разных таблиц в базе данных, изменяя команду sql CT = " эта часть изменяется "
Перед этим разделом я очищаю существующие данные перед обновлением данных из базы данных
CT = Array("SELECT * FROM ProdData2")
Sheets("GetAccess").Visible = True
Sheets("GetAccess").Select
Cells(1, 1).Select
'Division = Sheets("TeamTypes").Range("Q1").Value
With Selection.ListObject.QueryTable
.CommandText = CT
.Refresh BackgroundQuery:=False ' MEMORY spikes here
End With
Range("A1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
После этого я начинаю переходить из GetAccess на другой лист