Приветствую, друзья! Задался вот каким вопросом: Есть файл с моделью данных, периодически на листах со сводной приходится проваливаться в детализацию при клике по ячейке двойным кликом. При этом открывается новый лист с данными, который потом не нужен и его приходится удалять.
Возможно ли написать код, который будет это делать?
трудности с которыми столкнулся я: лист каждый раз имеет новое название невозможно перечислить листы в книге которые не надо удалять, они могут добавляться и изменяться
То есть по сути, должно работать такое условие: Если на листе в ячейке A1 содержится слово "возвращены"(это слово всегда есть для созданного листа который создается при детализации данных), то при деактивации листа -удалить такой лист.
Ігор Гончаренко, Спасибо. Но так будет удаляться любой лист при его деактивации. А мне нужно чтобы удалялись только те листы, в ячейке А1 у которых есть слово "возвращены". То есть появился у меня такой лист- я на него зашел, посмотрел, и при уходе с него, он сам удалился. Но для других листов это правило работать не должно.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Ігор Гончаренко, да уж начал делать) Спасибо Вам) Просто опять попал в ловушку незнания того, что события для листа можно прописывать не только в модуле листа)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
На всякий случай выкладываю готовый вариант. 1) Удаляет при переходе листы,в тексте у которых в ячейке А1 содержится слово "Возвращены"
Код
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.DisplayAlerts = False
If Sh.[a1] Like "*Возвращены*" Then Sh.Delete
Application.DisplayAlerts = True
End Sub
2) При образовании нового листа удаляет из ячейки А1 подпись к образованной таблице
Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.DisplayAlerts = False
If Sh.[a1] Like "*Возвращены*" Then Sh.[a1].ClearContents
Application.DisplayAlerts = True
End Sub
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄