Скрытое создание листа - VB
Формулировка задачи:
Задача следующая:
Есть лист со сводной таблицей. При двойном клике на pivot создается лист с детализацией данных.
В этот момент необходимо перехватывать создание этого листа и скрыв от пользователя взять с него данные и провести определенные действия. После чего лист удалить.
Код такой
располагается в коде книги
Но есть косяк, в момент создания листа пользователь видит этот лист долю секунды. Потому кот выполняется после события.
Тогда в коде листа я вешаю следующую обработку
Соответственно в коде события нового листа я обновления только включаю в конце кода, но это мелочи.
Главная трабла в том, что код не помогает и создание нового листа я вижу.
Важный ньюанс, что происходит это все в офисе 2007. В 2003 не тестил, но это мой старый прием, он раньше по моему прокатывал легко.
Кто что может подсказать. Очень не эстетично когда юзверь видит все твои секретики.
Есть лист со сводной таблицей. При двойном клике на pivot создается лист с детализацией данных.
В этот момент необходимо перехватывать создание этого листа и скрыв от пользователя взять с него данные и провести определенные действия. После чего лист удалить.
Код такой
располагается в коде книги
Но есть косяк, в момент создания листа пользователь видит этот лист долю секунды. Потому кот выполняется после события.
Тогда в коде листа я вешаю следующую обработку
Соответственно в коде события нового листа я обновления только включаю в конце кода, но это мелочи.
Главная трабла в том, что код не помогает и создание нового листа я вижу.
Важный ньюанс, что происходит это все в офисе 2007. В 2003 не тестил, но это мой старый прием, он раньше по моему прокатывал легко.
Кто что может подсказать. Очень не эстетично когда юзверь видит все твои секретики.
Решение задачи: «Скрытое создание листа»
textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> Workbook_SheetBeforeDoubleClick(<font color="blue">ByVal</font> Sh <font color="blue">As</font> <font color="blue">Object</font>, <font color="blue">ByVal</font> Target <font color="blue">As</font> Range, Cancel <font color="blue">As</font> <font color="blue">Boolean</font>) <font color="blue">If</font> Sh.<font color="blue">Name</font> = <font color="teal">"Лист4"</font> <font color="blue">Then</font> <font color="blue">If</font> Target.Row = <font color="darkblue"><b>29</b></font> <font color="blue">And</font> Target.Column < <font color="darkblue"><b>4</b></font> <font color="blue">Then</font> Cancel = True Application.ScreenUpdating = False Selection.ShowDetail = True Application.DisplayAlerts = False <font color="00AA00">'твои штуки дрюки</font> ActiveSheet.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True <font color="blue">End</font> <font color="blue">If</font> <font color="blue">End</font> <font color="blue">If</font> <font color="blue">End</font> <font color="blue">Sub</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д