Страницы: 1
RSS
Влияет ли многокртатное выполнение макроса в excel на производительность компьютера
 
Такой, чисто теоретический вопрос.
Пока пишу программу, конечно же со множеством косяков по дороге, многократно выполняю макрос для проверки на промежуточных тапах.
После нескольких часов работы делаю перерыв, оставляя всё как есть.
Потом возвращаюсь, например, через часок, и продолжаю трудиться....
Комп в первые минут 20 озадаченно и медленно выполняет процессы, как будто процессор загружен до упаду.
Диспетчер показывает не сильно загруженным процессов, но с большим объёмом занятостью оперативки excel'ем.
Дк вот мой вопрос... может есть какая-то функция, которая выгружала бы что-то ... буфер, например или ещё что-то о чём я не знаю, после выполнения макроса?
При этом, надо сказать, что на этапе запуска файла у меня наполняются несколько массивов данными из таблиц и сидят наполненными до выхода из файла.
Вот...

Тема число для полемики.
Спасибо.
 
Цитата
Kirill Gureev написал:
выгружала бы что-то ... буфер, например или ещё что-то о чём я не знаю
Ну при такой постановке задачи нет, конечно. Как выгрузить не знаю что? Никак. Чтобы что-то выгрузить надо знать что выгружать и откуда.
Большой объем занимаемой памяти может быть по нескольким причинам:
1. Много открытых файлов. Возможно в скрытом режиме, Вам виднее
2. Некая информация была скопирована в буфер, но буфер не очищался(application.cutcopymode = false)
3. Открытые файлы имеют значительное кол-во информации, в том числе формул
4. Был запущен некий макрос, который создает и заполняет массивы. При этом переменные массивов были объявлены As Public(или Static), но в любом случае после выполнения кода массивы не очищались из памяти и хранят заполненные данные даже после завершения кода.
5. Некие собственные манипуляции с памятью, о которых мы можем даже не догадываться.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
может есть какая-то функция
есть
оператор End
освобождает всю занятую ранее память (но сомневаюсь, что в вашем случае она не высвобождается автоматически.
это надо очень постараться, чтобы после выполнения макроса память не высвобождалась)

можно выполнить End из окна Immediate (появляется по нажатию Ctrl +G в редакторе макросов)
 
+ см. Настройки самой Windows:
Энергосбережение (не установлено ли её экономия?)
Быстродействие - настройте под свои интересы и нужды
P.S.
и не впадаете ли в спящий или ждущий режим? - потом из него долго выходите со своим багажом... лучше отключите их использование
Изменено: JeyCi - 19.08.2016 18:35:25
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Страницы: 1
Читают тему
Наверх