|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.09.2011, 11:35 | #1 |
Пользователь
Регистрация: 09.06.2011
Сообщений: 21
|
Обновление листа excel
Добрый день!
Подскажите, пожалуйста, какие команды отключают обновления листа? Пробовал искать в инете - нашел только "EnableCalculation — возможность отключить автоматический пересчет значений ячеек в книге." Есть ли ещё какие-нибудь команды, отключающие автоматический пересчет/обновление листа? В идеале хочу сделать так (для ускорения работы макроса): 1. Отключаем обновление листа 2. Выполняется макрос 3. Включаем обновление Желательно, чтобы команда отключала только визуальное изменение значений в ячейке. То есть при использовании в макросе cells.value - результат был бы актуальный на текущий момент вычислений. |
05.09.2011, 11:43 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вот даже так нашёл - тут много файлов кодом открывалось/закрывалось:
With Application 'отлючаем обновление экрана - это убыстрит работу макроса .ScreenUpdating = False 'включаем ручной пересчёт формул - это убыстрит работу макроса .Calculation = xlManual 'отключаем отображения окон на панели задач на время выполнения макроса .ShowWindowsInTaskbar = False ... 'тут собственно весь код ... 'включаем автоматический пересчёт формул, который отключили в начале макроса .Calculation = xlAutomatic 'включаем отображения окон на панели задач, которое отключали в начали макроса .ShowWindowsInTaskbar = True 'включаем обновление экрана, который отключили в начале макроса .ScreenUpdating = True End With Или такой вариант - дополнительно две процедуры, которые вызываются в начале и конце кода: Private Sub App_Off() With Application .EnableEvents = False .ScreenUpdating = False .Calculation = xlCalculationManual End With End Sub Private Sub App_On() With Application .EnableEvents = True .ScreenUpdating = True .Calculation = xlCalculationAutomatic End With End Sub .EnableEvents - это чтоб не выполнялись события.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 05.09.2011 в 11:47. |
05.09.2011, 11:56 | #3 |
Пользователь
Регистрация: 09.06.2011
Сообщений: 21
|
Ух сколько всего сразу!!! Спасибо, буду тестить!!
|
05.09.2011, 12:08 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вообще-то правильнее запоминать состояние пересчёта, чтоб юзера с толку не сбивать.
Целиком это так выглядит (нашёл такой небольшой пример): Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пароль на открытие листа в Excel | gkorolik | Microsoft Office Excel | 6 | 19.12.2010 19:26 |
Обновление части листа | Флина | Microsoft Office Excel | 3 | 25.10.2010 13:48 |
сохранение листа Excel в отдельном файле | mmzzmm | Microsoft Office Excel | 2 | 07.10.2010 15:51 |
размер листа в excel | Доктор | Microsoft Office Excel | 1 | 08.06.2010 09:54 |