Подскажите готовый макрос по перехвату команды по удалении листа из книги, Что бы определенные листы было не возможно удалить из книги.
с параметром Private Sub Worksheet_BeforeDelete()
с параметром Private Sub Worksheet_BeforeDelete()
|
01.09.2019 10:20:30
Андрей VG, Привет. Ну если нет пути перехватить "вредное" событие то можно предотвратить его появление :-). Как можно удалить лист? ПКМ - элементарно залочить меню. Правда, при выделении нескольких листов и с главным меню нужно пошаманить, но нет ничего невозможного :-).
По вопросам из тем форума, личку не читаю.
|
|
|
|
|
|
01.09.2019 11:47:23
Андрей VG, БМВ, доброго утра!
Был удивлён, что действительно нельзя "запретить" удаление (во всяком случае обычными методами) — оно произойдёт, даже если переименовать лист… Проблема также в том, что нет события Workbook_SheetAfterDelete, чтобы можно было "подшаманить костыли", чтобы пользователь не увидел внутренней "кухни". Используем свойство неотвратимости удаления (лист будет удалён, даже, если переименован):
UPD: метод от Андрея VG из #2 сработает. Защита включится перед удалением, что не даст удалить лист и отключится по событию Workbook_SheetSelectionChange, то есть нужно будет всего лишь кликнуть в любом месте
Изменено: - 01.09.2019 12:05:05
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||||||
|
|
|
|
01.09.2019 12:11:01
Изменено: - 01.09.2019 12:18:18
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||||||||
|
|
|
|
01.09.2019 12:24:12
На форме ListBox с перечнем листов и кнопка удаления. Где-то список нужных листов. Пользователь выделяет строку, жмет кнопку... А не тут-то было! или макрос любезно соглашается. |
|||
|
|
|
|
01.09.2019 12:31:06
Kazanildarik, если через форму, как предложил vikttur, то как вариант, можно, чтобы "запретных" листов просто не было в списке
БМВ, а я вот не подумал про отсрочку
Изменено: - 01.09.2019 12:42:00
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
|
|
01.09.2019 13:01:25
Привет, Михаил.
Отличное решение, спасибо. Только вот что делать с Можнонеосторожно-пользователями? Они же нечаянно могут и выполнение макросов отключить, ну так из любопытства ради
Изменено: - 01.09.2019 13:01:50
|
|
|
|
|
|
01.09.2019 13:19:34
Андрей VG, Андрей, приветствую. Ну мне кажется мое отношение ко всем продуктам основанным на excel, как к полуфабрикатам я неоднократно заявлял. Это помощник, но любого помощника можно уговорить сделать что-то не то :-)
По вопросам из тем форума, личку не читаю.
|
|
|
|
|
|
01.09.2019 13:52:08
Мяу, люди! Тут сурьезно сверкает
У меня лыжи не едут? Чи шо? |
|||
|
|
|
|
01.09.2019 14:00:42
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
|
|
01.09.2019 14:01:11
В другие макросы где меняется структура книги, добавил строку на снятие защиты книги. Теперь нужные вкладки не удалить. |
|||
|
|
|
|
01.09.2019 14:11:20
|
|||
|
|
|
|
01.09.2019 14:21:05
Изменено: - 01.09.2019 14:26:12
Владимир
|
|||
|
|
|
|
01.09.2019 14:21:38
sokol92, приветствую! Юрий М, у меня:
Изменено: - 01.09.2019 14:27:45
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||
|
|
|
|
01.09.2019 14:24:22
2010 - не нахожу такого события (
|
|
|
|
|
|
01.09.2019 14:28:38
Юрий М, значит самое время обновляться (или нет)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
|
|
01.09.2019 14:31:23
Это на работе. Дома 2013 ))
Стало быть, предложенный вариант не очень универсальный. Я про тех, кто остановился на 2010 :-] |
|
|
|
|
|
01.09.2019 14:36:28
По вопросам из тем форума, личку не читаю.
|
|||
|
|
|
|
01.09.2019 14:40:40
Гы )) Вечно медведь что-нибудь замутит...
Ну, а если серьёзно - ведь достаточно больше количество людей остались на 2010: зайдут на форум, скачают вариант, а потом вопить будут - "Не работает!" )) |
|
|
|
|
|
01.09.2019 14:41:21
|
|||
|
|
|
|
01.09.2019 14:42:15
|
|
|
|
|
|
01.09.2019 14:59:26
Изменено: - 01.09.2019 15:03:21
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|||
|
|
|
|
01.09.2019 15:05:10
|
|||
|
|
|
|
01.09.2019 15:05:53
А если серьезно, то если это честный купленный 2010, то надо задумываться о переходе и просто планировать бюджет. Если нет, то все тоже самое, но есть варианты :-).
По вопросам из тем форума, личку не читаю.
|
|||
|
|
|
|
01.09.2019 15:10:35
Миш, я о другом:
- А кто у нас муж? - Волшебник. - Предупреждать нужно. |
|
|
|
|
|
01.09.2019 15:43:35
У меня не получается ни перехватить нажатие "Удалить" в меню листа, ни изменить OnAction.
Владимир
|
|
|
|
|
|
01.09.2019 16:26:09
А версия Excel какая? С 2016 метод Михаила работает. |
||||
|
|
|
|||