Медленный VBA в Excel 2016 под Win 10

Последнее сообщение
Eugene 545 16
Ноя 16

Коллеги, кто-нибудь сталкивался с проблемой медленной работы макросов в Excel 2016 (32 бита) под Win 10?

Обновился с Win 7 / Excel 2010 и макрос стал существенно медленнее работать, кроме того не может выполнить некоторые операции. 

В сети многие жалуются, но толком решения нет...

JimCarrey 36 7
Ноя 16 #1

Есть такая проблема. 
64 ставь в обязаловку и попробуй как-нибудь макрос упростить. А какая машина? 

Eugene 545 16
Ноя 16 #2

Да машина та же, что раньше была, когда марос работал нормально... 64 бита не получится пока, надо вызывать 32 битную библиотеку. Упрощать, как не парадоксально, сложнее... Отлаженный и работающий макрос превратился в хлам...

Суть то проблемы в том, что казалось бы установившиеся вещи, с обновлением становятся хуже... Хотя в этом и вся суть Майкрософта... И проблему замыкают на пользователя. Упростите макрос, перезапустите компьютер...

Не понятно, где копать... Есть подозрение, что 10ка что-то тормозит в обмене данными...

Antalik 1747 17
Ноя 16 #3

А что макрос делает?

У меня была одна общая проблема с "медленным макросом". Самая медленная часть это запись данных в файл Excel.
Если в алгоритме запись по одной ячейке в какие-нибудь таблицы, то это в разы медленнее чем запись переменной массива (array) в регион книги. То есть из всех циклов нужно убрать запись, а добавлять данные в массив и один раз записывать в книгу.

 

 

Myp3uJIKA 236 16
Ноя 16 #4

Насчет записи в книгу - известная тема, и это было всегда и везде во всех версиях виндоус и excel. Это азы программирования - 100 раз посчитай, один раз запиши. И чем медленнее структура I/O данной машины, тем медленнее работа связанных скриптов. Но, если изменений в скрипте по сравнению со старыми виндами не было, то скорее всего проблема не в скрипте, а в доступе к каким то библиотекам (окружению). Сам с таким не сталкивался, ибо сижу на семерке и в ус не дую. Надо спрашивать яндекс, обычно там люди уже знают.

Как стандартно в программировании делается отладка? Попробуйте локализовать баг. Либо это общесистемный тормоз (именно тот, что вы грешите на винду), либо у вас проблема с конкретной инструкцией. Первое проверяется написанием простенького скрипта с набором инструкций, применяемых в основном скрипте. Второе - поочередным выключением блоков программы и оценкой производительности. Если какие то функции просто не работают - скорее всего они и тормозят весь скрипт и надо напрямую вопрошать на яндексе почему такая функция и не работает в вин10.

 

 

VIT 1111 17
Ноя 16 #5

У меня после установки win10 и excel 2010 он стал подвисать даже без всяких макросов. Особенно после того как excel в idle, потом переходишь на сраницу пишешь формулу, enter и он зависает на пару секунд, файлы тоже медленно иногда открывает. Я пока не разбирался что к чему.

 

Eugene 545 16
Ноя 16 #6

Спасибо за комменты. Да, с записью ясно. Макрос пишет диапазонами, не по ячейкам. 

Грешу на винду потому, что ставил Excel 2010, правда в параллель с 2016. Та же проблема... На других машинах с Win 10, тоже не идет.

Go to top