После последовательного нажатия на кнопку "Защита" (Лист1) и на кнопку "Снять защиту" (Лист1) почему-то становится активным Лист2... Если запускать из контекстного меню, то лист не переключается.
Что за эффект и как его убрать? Спасибо!
У меня: Microsoft® Excel® для Microsoft 365 MSO (версия 2109 Сборка 16.0.14430.20292) 64-разрядная
После последовательного нажатия на кнопку "Защита" (Лист1) и на кнопку "Снять защиту" (Лист1) почему-то становится активным Лист2... Если запускать из контекстного меню, то лист не переключается.
Что за эффект и как его убрать? Спасибо!
У меня: Microsoft® Excel® для Microsoft 365 MSO (версия 2109 Сборка 16.0.14430.20292) 64-разряднаяvvgotsev
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" Application.ScreenUpdating = True End Sub
[/vba]
[vba]
Код
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" Application.ScreenUpdating = True End Sub
Хммм... У меня происходит просто моргание листов (видимо последовательная активация) но в итоге остается активным лист 1
ну тогда как заплатка:
[vba]
Код
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист1").Activate Application.ScreenUpdating = True End Sub
[/vba]
Хммм... У меня происходит просто моргание листов (видимо последовательная активация) но в итоге остается активным лист 1
ну тогда как заплатка:
[vba]
Код
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист1").Activate Application.ScreenUpdating = True End Sub
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" Application.ScreenUpdating = True End Sub
[/vba]
а такой вызывает переключение на Лист2 [vba]
Код
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" Application.ScreenUpdating = True End Sub
[/vba]
В проекте защищаются/разблокируются все листы книги в общем цикле. Надо переделывать, а смысл - м.б. еще что-то начнет переключаться не так - причин же не понимаю...
Пока перешел с кнопок на контекстное меню.
and_evg, это ненаучно
Лист1 в примере не защищается.
Такой код вызывает переключение на Лист3 [vba]
Код
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" Application.ScreenUpdating = True End Sub
[/vba]
а такой вызывает переключение на Лист2 [vba]
Код
Public Sub Full_UnProtect() Application.ScreenUpdating = False ThisWorkbook.Worksheets("Лист2").Unprotect Password:="1" ThisWorkbook.Worksheets("Лист3").Unprotect Password:="1" Application.ScreenUpdating = True End Sub
[/vba]
В проекте защищаются/разблокируются все листы книги в общем цикле. Надо переделывать, а смысл - м.б. еще что-то начнет переключаться не так - причин же не понимаю...
Пока перешел с кнопок на контекстное меню.vvgotsev
doober, потестирую на других компьютерах. Однако уже на другом форуме подтвердили эффект. Я и хотел понять - м.б. нужно какой-то патч применить?
doober, потестирую на других компьютерах. Однако уже на другом форуме подтвердили эффект. Я и хотел понять - м.б. нужно какой-то патч применить?vvgotsev