Форум Excel-vba

Основные форумы => Вопросы по Excel и VBA => Тема начата: A-Michael от 11.03.2023, 17:38:50

Название: Отследить копирование листа внутри книги
Отправлено: A-Michael от 11.03.2023, 17:38:50
И снова здравствуйте, уважаемые знатоки!
При разработке простенькой программки возник вопрос: пользователь может скопировать лист для собственных нужд. Ну, например, повторяющаяся из месяца в месяц таблица. Возможно ли отследить событие копирования листа или, как вариант переименование листа? Это необходимо для изменения надписи в таблице. Решение с кнопкой "Скопировать лист" - отпадает по причине пользователя  ;-D
Название: Re:Отследить копирование листа внутри книги
Отправлено: Дмитрий Щербаков(The_Prist) от 11.03.2023, 18:26:29
Прям вот чтобы отследить - нет. Можно лишь при открытии книги в некий скрытый лист записать все имена текущих листов в книге. Можно даже сделать привязку "кодовое имя листа - отображаемое имя".
В событии Workbook_SheetActivate в модуле ЭтаКнига отслеживать каждое событие активации листа и сверять имя активированного листа со списком(по кодовому имени, если надо отслеживать переименование). Если такого листа нет в списке - значит лист был добавлен. Если есть - сверять отображаемое имя для проверки переименования.
Это основная идея. Список можно хранить и не на листе, а в именах и вообще где больше нравится.
Название: Re:Отследить копирование листа внутри книги
Отправлено: A-Michael от 11.03.2023, 18:47:04
Спасибо, Дмитрий. Примерно так я и думал, но надеялся, что есть такой вариант. А жаль, счастье было так возможно...  ;)