Страницы: 1
RSS
Excel перегружается при работе с AutoFilter
 
Доброе утро.
Бадаюсь с проблемой уже несколько дней.
И так вчем суть.
Есть файл с формулами, которых много и влазить в их логику не охота.

Стоит задача перебрать все варианты комбинаций и взять результат результирующих формул.
То-есть решено написать алгоритм перебора комбинаций с использаванием AutoFilter(колонок по которых идет фильтрация 7- 8
и с формул через промежуточные итоги забирать результат.
Сказано -сделано.

При открытие книги и клике на кнопку макрос работает нормально.
Результат вывожу на отдельный лист(AutoFiltr в другом). Удаляю лист результата вручную и повторно запускаю тотже
макрос и ексель тупо перегружается.
Отловить на какой именно строке кода не получилось, так как каждый раз на разной строке вылетает.
Думал, офис, так ето на нескольких ПК, такая проблема.
Офис 2010 / 32 бит. Виндовс 7/32 бит.
Файл весит более 7 МБ и кода фильтрации много по етому не хочу забивать голову вам етим.
Кто сталкивался с етой проблемой? Может есть какието догадки как решить ее?
 
Скорее всего не хватает памяти, под 64-bit должно работать. Присылайте на почту файл, потестирую.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Я так понял макрос перебирает фильтрами что-то и результаты этих фильтров записывает куда-то?
Если так, то попробуйте в макросе отключить пересчёт формул. И пересчитывать только после применения определённого фильтра.

Выключил пересчёт
Поставил фильтр
Пересчитал
опять поставил фильтр
Пересчитал
и т.д.
Потом включил пересчёт в конце
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Alemox, так и пересчет идет
Пробовал на офисе 2016. Идет все без проблем
 
Недавно устранял другое, но похожее.
Лист с реестром, на него из 6 листов ссылаются куча СУММЕСЛИМН с полными диапазонами столбцов. Простенькие макросы управляют автофильтром реестра. Было поначалу тихо-мирно, но чем больше данных, тем больше тормоза. Обратились, когда фильтрация зависала секунд на 15.

Удалил макросы. Написал на массивах отбор данных на другой лист. Летает.
 
Цитата
vikttur написал:
Удалил макросы. Написал на массивах отбор данных на другой лист. Летает.
я вот думаю, что все пути идут к етому... так как фильтра не ефективный способ решения
 
Массив наше всё. Но придётся разобраться с формулами, если они там что-то делают. А так полностью поддерживаю vikttur, автофильтр с макросами не кошерно.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Excel 2010 64-bit все работает. долго что-то считала, добавляла строки на новый лист (200 строк), но не упала.
Нехватка памяти для внутренней операции excel-я, однозначно.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Цитата
TheBestOfTheBest написал:
Excel 2010 64-bit все работает
TheBestOfTheBest Спасибо за тест
так на 32 тоже считает, но через раз.
на одних и тех же данных

я делал експеремент даже, открывал хром загружал по максимум закладками.
работает тоже через раз.
На виртулаке уменьшал, увеличивал память
все также... Ошибка осталась  
Изменено: ivanok_v2 - 15.11.2018 14:45:51
 
В случае, описанном №5, виноваты формулы. Пр любом изменении фильтра они почему-то считали, что данные меняются и запускался пересчет. Формул много, ссылки на целые столбцы  - вот и съедалась память.
 
Цитата
ivanok_v2 написал:
я делал експеремент даже, открывал хром загружал по максимум закладками.работает тоже через раз.На виртулаке уменьшал, увеличивал память все также... Ошибка осталась
Переход на 64-bit полностью решит проблему (для данной реализации). Либо меняйте способ реализации.
Изменено: TheBestOfTheBest - 15.11.2018 16:43:29
Неизлечимых болезней нет, есть неизлечимые люди.
 
думаю, что скорее все решу задачу массивами
просто нужно разбиратся в чужой логике, а ето не благодарное дело
Изменено: ivanok_v2 - 15.11.2018 16:45:43
 
и так, проблема решил переходом из офиса 2010 на 2013. ПК тот же
код не менял, проблема ушла.
Но так и не понял почему возникала проблема AppCrash
всем спасибо за участие
Изменено: ivanok_v2 - 18.11.2018 20:50:06
Страницы: 1
Наверх