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

Вход

Регистрация

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

 

= Мир MS Excel/Снятие защиты всех листов (оптимизация) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Снятие защиты всех листов (оптимизация)
Anis625 Дата: Воскресенье, 10.03.2019, 22:41 | Сообщение № 1
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Добрый вечер, участникам форума!

Сегодня удалось решить еще одну текущую задачку собрав в просторах интернета готовые решения и адаптировав их под себя.

Два макроса:
один - ставит защиту на все листы, скрывает один лист, ставит защиту структуры книги;
второй - в обратном порядке

Все работает отлично. Только после добавления кода на снятие пароля со всех листов:
[vba]
Код
Dim wSheet As Worksheet
    For Each wSheet In Worksheets
        If wSheet.ProtectContents = True Then
            wSheet.Unprotect Password:=0
        End If
    Next wSheet
[/vba]

начинает перебирать все листы (их 6) все моргает пару секунд, но выполняет свое дело.

Есть ли вариант оптимизации этой части?
К сообщению приложен файл: __.xlsb (20.9 Kb)


Сообщение отредактировал Anis625 - Воскресенье, 10.03.2019, 22:42
 
Ответить
СообщениеДобрый вечер, участникам форума!

Сегодня удалось решить еще одну текущую задачку собрав в просторах интернета готовые решения и адаптировав их под себя.

Два макроса:
один - ставит защиту на все листы, скрывает один лист, ставит защиту структуры книги;
второй - в обратном порядке

Все работает отлично. Только после добавления кода на снятие пароля со всех листов:
[vba]
Код
Dim wSheet As Worksheet
    For Each wSheet In Worksheets
        If wSheet.ProtectContents = True Then
            wSheet.Unprotect Password:=0
        End If
    Next wSheet
[/vba]

начинает перебирать все листы (их 6) все моргает пару секунд, но выполняет свое дело.

Есть ли вариант оптимизации этой части?

Автор - Anis625
Дата добавления - 10.03.2019 в 22:41
Pelena Дата: Понедельник, 11.03.2019, 08:21 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Можно попробовать в начале макроса отключить обновление экрана
[vba]
Код
Application.ScreenUpdating=False
[/vba]
а в конце включить
[vba]
Код
Application.ScreenUpdating=True
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Можно попробовать в начале макроса отключить обновление экрана
[vba]
Код
Application.ScreenUpdating=False
[/vba]
а в конце включить
[vba]
Код
Application.ScreenUpdating=True
[/vba]

Автор - Pelena
Дата добавления - 11.03.2019 в 08:21
Anis625 Дата: Понедельник, 11.03.2019, 09:08 | Сообщение № 3
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Pelena,

Отлично теперь работает. Спасибо Вам за подсказку =) Теперь все без ряби работает и быстро отрабатывает макрос.
 
Ответить
СообщениеPelena,

Отлично теперь работает. Спасибо Вам за подсказку =) Теперь все без ряби работает и быстро отрабатывает макрос.

Автор - Anis625
Дата добавления - 11.03.2019 в 09:08
  • Страница 1 из 1
  • 1
Поиск:

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