Подскажите готовый макрос по перехвату команды по удалении листа из книги, Что бы определенные листы было не возможно удалить из книги.
с параметром Private Sub Worksheet_BeforeDelete()
с параметром Private Sub Worksheet_BeforeDelete()
01.09.2019 08:29:27
Доброе время суток.
Вряд ли такой макрос есть. Нет событий в объектной модели, Как выход. Защитить структуру книги под пароль и предоставить возможность удалять/добавлять листы в книгу только посредством макросов (на период выполнения которых, снимаете, а затем снова устанавливаете пароль).
Изменено: |
|
|
|
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:11:01
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||||||||
|
|
01.09.2019 12:24:12
На форме ListBox с перечнем листов и кнопка удаления. Где-то список нужных листов. Пользователь выделяет строку, жмет кнопку... А не тут-то было! или макрос любезно соглашается. |
|||
|
|
01.09.2019 12:27:06
и
Изменено:
По вопросам из тем форума, личку не читаю.
|
|||||
|
|
01.09.2019 12:31:06
Kazanildarik, если через форму, как предложил vikttur, то как вариант, можно, чтобы "запретных" листов просто не было в списке
БМВ, а я вот не подумал про отсрочку
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
01.09.2019 13:01:25
Привет, Михаил.
Отличное решение, спасибо. Только вот что делать с Можнонеосторожно-пользователями? Они же нечаянно могут и выполнение макросов отключить, ну так из любопытства ради
Изменено: |
|
|
|
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:21:38
sokol92, приветствую! Юрий М, у меня:
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||
|
|
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:41:21
|
|||
|
|
01.09.2019 14:42:15
БМВ,
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
01.09.2019 14:59:26
Изменено:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|||
|
|
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 метод Михаила работает. |
||||
|
|
|||