Помогите, пожалуйста, с очередной проблемой. Точнее проблема из прежних, но простыми средствами она не решена. Пришлось залезать в дебри, которые мой измученный мозг воспринимает с большим трудом.
Есть документ с данными на листе 1, которые нужно отфильтровать по сотне критериев, сохранив отдельно результаты применения каждого фильтра. Результаты фильтрации Листа 1 документа excel представлены на Листе 3. Там же на Листе 3 присутствует кнопка "Сохранить лист в отдельный файл", которой назначен макрос (см. скрин). И вот это сохранение "вешает" мне систему на несколько минут.
Оно бы и не было столь печально, но подобных действий нужно произвести под сотню. Ежедневно. Все остальные "тормоза" ликвидированы, а с этим никак не справиться. Написал мне этот макрос бывший коллега, который и так уже в участии ко мне превзошел всякие пределы. При том, что он очень занятой человек. Снова его беспокоить уже просто неприлично.
Всё работает прекрасно, только ОЧЕНЬ ДОЛГО СОХРАНЯЕТСЯ. Невозможно долго.
Я проверила всё, что может влиять на скорость работы excel, кроме этого макроса. Даже установила excel 2010 вместо 2007. Связей нет, совместного доступа нет. Насколько я понимаю, нет никаких других причин зависания при сохранении, кроме работы самого макроса. Ну, тут уж мне ума катастрофически не хватает понять, что и как ускорить.
Привожу скрин кода в VBA. Это, насколько я понимаю, кусочек кода, "ответственный" за сохранение листа в файл. На скрине не видно, но выше в коде указан диапазон копируемых с Листа1 на Лист3 ячеек - "A3:Q3000". Строк бывает разное количество. Даже по одной иногда. А иногда под три тысячи, что и указано.
И, вот, эти ячейки (только значения) и нужно сохранить в отдельный файл. Нажимаю на кнопку, запускающую макрос. Выбираю папку для сохранения. И тут и "зависаю" на 2-7-10 минут.
Изначально в коде вместо ActiveSheet Save As... Было ActiveWorkbook. Это я поменяла. Не знаю, правильно или нет. Предполагала, что сохранять лист excel будет быстрее, чем книгу.Но каких-то изменений в скорости работы не заметила.
Я в VBA впервые пытаюсь что-то редактировать. Не ругайтесь сильно, если какую-то фигню спрашиваю/делаю. В общем, что нужно сделать, чтобы сохранять данные быстрее?
Помогите, пожалуйста, с очередной проблемой. Точнее проблема из прежних, но простыми средствами она не решена. Пришлось залезать в дебри, которые мой измученный мозг воспринимает с большим трудом.
Есть документ с данными на листе 1, которые нужно отфильтровать по сотне критериев, сохранив отдельно результаты применения каждого фильтра. Результаты фильтрации Листа 1 документа excel представлены на Листе 3. Там же на Листе 3 присутствует кнопка "Сохранить лист в отдельный файл", которой назначен макрос (см. скрин). И вот это сохранение "вешает" мне систему на несколько минут.
Оно бы и не было столь печально, но подобных действий нужно произвести под сотню. Ежедневно. Все остальные "тормоза" ликвидированы, а с этим никак не справиться. Написал мне этот макрос бывший коллега, который и так уже в участии ко мне превзошел всякие пределы. При том, что он очень занятой человек. Снова его беспокоить уже просто неприлично.
Всё работает прекрасно, только ОЧЕНЬ ДОЛГО СОХРАНЯЕТСЯ. Невозможно долго.
Я проверила всё, что может влиять на скорость работы excel, кроме этого макроса. Даже установила excel 2010 вместо 2007. Связей нет, совместного доступа нет. Насколько я понимаю, нет никаких других причин зависания при сохранении, кроме работы самого макроса. Ну, тут уж мне ума катастрофически не хватает понять, что и как ускорить.
Привожу скрин кода в VBA. Это, насколько я понимаю, кусочек кода, "ответственный" за сохранение листа в файл. На скрине не видно, но выше в коде указан диапазон копируемых с Листа1 на Лист3 ячеек - "A3:Q3000". Строк бывает разное количество. Даже по одной иногда. А иногда под три тысячи, что и указано.
И, вот, эти ячейки (только значения) и нужно сохранить в отдельный файл. Нажимаю на кнопку, запускающую макрос. Выбираю папку для сохранения. И тут и "зависаю" на 2-7-10 минут.
Изначально в коде вместо ActiveSheet Save As... Было ActiveWorkbook. Это я поменяла. Не знаю, правильно или нет. Предполагала, что сохранять лист excel будет быстрее, чем книгу.Но каких-то изменений в скорости работы не заметила.
Я в VBA впервые пытаюсь что-то редактировать. Не ругайтесь сильно, если какую-то фигню спрашиваю/делаю. В общем, что нужно сделать, чтобы сохранять данные быстрее?natalyzal
natalyzal, ругать Вас сейчас будут модераторы. Читаем Правила, исправляем... Без файла (даже маленького кусочка), трудно будет понять, что там так долго.
natalyzal, ругать Вас сейчас будут модераторы. Читаем Правила, исправляем... Без файла (даже маленького кусочка), трудно будет понять, что там так долго.Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Среда, 29.03.2017, 20:46