Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Очень долго сохраняется лист в файл - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Очень долго сохраняется лист в файл (Макросы/Sub)
Очень долго сохраняется лист в файл
natalyzal Дата: Среда, 29.03.2017, 17:21 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Помогите, пожалуйста, с очередной проблемой. Точнее проблема из прежних, но простыми средствами она не решена.
Пришлось залезать в дебри, которые мой измученный мозг воспринимает с большим трудом.

Есть документ с данными на листе 1, которые нужно отфильтровать по сотне критериев, сохранив отдельно результаты применения каждого фильтра.
Результаты фильтрации Листа 1 документа excel представлены на Листе 3.
Там же на Листе 3 присутствует кнопка "Сохранить лист в отдельный файл", которой назначен макрос (см. скрин).
И вот это сохранение "вешает" мне систему на несколько минут.

Оно бы и не было столь печально, но подобных действий нужно произвести под сотню. Ежедневно.
Все остальные "тормоза" ликвидированы, а с этим никак не справиться.
Написал мне этот макрос бывший коллега, который и так уже в участии ко мне превзошел всякие пределы. При том, что он очень занятой человек. Снова его беспокоить уже просто неприлично.

Всё работает прекрасно, только ОЧЕНЬ ДОЛГО СОХРАНЯЕТСЯ. Невозможно долго.

Я проверила всё, что может влиять на скорость работы excel, кроме этого макроса. Даже установила excel 2010 вместо 2007. Связей нет, совместного доступа нет. Насколько я понимаю, нет никаких других причин зависания при сохранении, кроме работы самого макроса. Ну, тут уж мне ума катастрофически не хватает понять, что и как ускорить.

Привожу скрин кода в VBA. Это, насколько я понимаю, кусочек кода, "ответственный" за сохранение листа в файл.
На скрине не видно, но выше в коде указан диапазон копируемых с Листа1 на Лист3 ячеек - "A3:Q3000". Строк бывает разное количество. Даже по одной иногда. А иногда под три тысячи, что и указано.

И, вот, эти ячейки (только значения) и нужно сохранить в отдельный файл. Нажимаю на кнопку, запускающую макрос. Выбираю папку для сохранения.
И тут и "зависаю" на 2-7-10 минут.

Изначально в коде вместо ActiveSheet Save As... Было ActiveWorkbook. Это я поменяла. Не знаю, правильно или нет. Предполагала, что сохранять лист excel будет быстрее, чем книгу.Но каких-то изменений в скорости работы не заметила.

Я в VBA впервые пытаюсь что-то редактировать. Не ругайтесь сильно, если какую-то фигню спрашиваю/делаю.
В общем, что нужно сделать, чтобы сохранять данные быстрее?
К сообщению приложен файл: 1470575.png (117.4 Kb)


Сообщение отредактировал natalyzal - Среда, 29.03.2017, 17:22
 
Ответить
СообщениеПомогите, пожалуйста, с очередной проблемой. Точнее проблема из прежних, но простыми средствами она не решена.
Пришлось залезать в дебри, которые мой измученный мозг воспринимает с большим трудом.

Есть документ с данными на листе 1, которые нужно отфильтровать по сотне критериев, сохранив отдельно результаты применения каждого фильтра.
Результаты фильтрации Листа 1 документа excel представлены на Листе 3.
Там же на Листе 3 присутствует кнопка "Сохранить лист в отдельный файл", которой назначен макрос (см. скрин).
И вот это сохранение "вешает" мне систему на несколько минут.

Оно бы и не было столь печально, но подобных действий нужно произвести под сотню. Ежедневно.
Все остальные "тормоза" ликвидированы, а с этим никак не справиться.
Написал мне этот макрос бывший коллега, который и так уже в участии ко мне превзошел всякие пределы. При том, что он очень занятой человек. Снова его беспокоить уже просто неприлично.

Всё работает прекрасно, только ОЧЕНЬ ДОЛГО СОХРАНЯЕТСЯ. Невозможно долго.

Я проверила всё, что может влиять на скорость работы excel, кроме этого макроса. Даже установила excel 2010 вместо 2007. Связей нет, совместного доступа нет. Насколько я понимаю, нет никаких других причин зависания при сохранении, кроме работы самого макроса. Ну, тут уж мне ума катастрофически не хватает понять, что и как ускорить.

Привожу скрин кода в VBA. Это, насколько я понимаю, кусочек кода, "ответственный" за сохранение листа в файл.
На скрине не видно, но выше в коде указан диапазон копируемых с Листа1 на Лист3 ячеек - "A3:Q3000". Строк бывает разное количество. Даже по одной иногда. А иногда под три тысячи, что и указано.

И, вот, эти ячейки (только значения) и нужно сохранить в отдельный файл. Нажимаю на кнопку, запускающую макрос. Выбираю папку для сохранения.
И тут и "зависаю" на 2-7-10 минут.

Изначально в коде вместо ActiveSheet Save As... Было ActiveWorkbook. Это я поменяла. Не знаю, правильно или нет. Предполагала, что сохранять лист excel будет быстрее, чем книгу.Но каких-то изменений в скорости работы не заметила.

Я в VBA впервые пытаюсь что-то редактировать. Не ругайтесь сильно, если какую-то фигню спрашиваю/делаю.
В общем, что нужно сделать, чтобы сохранять данные быстрее?

Автор - natalyzal
Дата добавления - 29.03.2017 в 17:21
Roman777 Дата: Среда, 29.03.2017, 20:45 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
natalyzal, ругать Вас сейчас будут модераторы. Читаем Правила, исправляем...
Без файла (даже маленького кусочка), трудно будет понять, что там так долго.


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Среда, 29.03.2017, 20:46
 
Ответить
Сообщениеnatalyzal, ругать Вас сейчас будут модераторы. Читаем Правила, исправляем...
Без файла (даже маленького кусочка), трудно будет понять, что там так долго.

Автор - Roman777
Дата добавления - 29.03.2017 в 20:45
natalyzal Дата: Среда, 29.03.2017, 22:54 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Roman777, спасибо за поправку. На будущее запомню.
 
Ответить
СообщениеRoman777, спасибо за поправку. На будущее запомню.

Автор - natalyzal
Дата добавления - 29.03.2017 в 22:54
natalyzal Дата: Среда, 29.03.2017, 22:56 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ВОПРОС РЕШЕН. В строке сохранения не было указано расширение файла.
 
Ответить
СообщениеВОПРОС РЕШЕН. В строке сохранения не было указано расширение файла.

Автор - natalyzal
Дата добавления - 29.03.2017 в 22:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Очень долго сохраняется лист в файл (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!