|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.03.2009, 22:38 | #1 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Как выполнить действие при закрытии Книги?
Как в макросе, удалить, результаты выбора ComboBox1 перед закрытием рабочей книги?
Наверное как -то так? Код:
Последний раз редактировалось valerij; 12.03.2009 в 00:11. |
12.03.2009, 05:26 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Если он заполнялся программно - то да, именно так:
Код:
|
12.03.2009, 12:39 | #3 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Да программно, но не пойму, почему, так, надо делать при закрытии(так все работает), а если при открытии книги(так не работает)?
Код:
|
12.03.2009, 12:47 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
В чём проявляется неработоспособность? У меня всё работает... |
|
12.03.2009, 13:19 | #5 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
При открытии листа ВЕС, сначала я должен выбрать значение в ComboBox1, а потом в ComboBox2 иначе в ComboBox2 нет ничего.
Допустим я выбрал 1 -10, просмотрел и при закрытии книги сохранить, ОК. Еще раз открываем, стоит как сохранил, 1 -10, а мне теперь надо 1 -11, а в ComboBox2 пусто и пока я не передерну ComboBox1 -ComboBox2.... |
12.03.2009, 14:17 | #6 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
В макросе Workbook_Open
после строки Лист18.ComboBox1.Clear поставь строку Лист18.ComboBox2.Clear Тогда и второй комбобокс будет очищаться. Цитата:
Первый комбобокс ведь сбрасыватся вроде бы... Вообще, ты умудряешься формулировать задачи так, что очень сложно понять, что и как должно работать. |
|
12.03.2009, 14:31 | #7 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
А если при закрытии книги, как выше, применить макрос, то все ОК, отсюда и возник вопрос, почему при закрытии очистка, а не при открытии!! Последний раз редактировалось valerij; 12.03.2009 в 14:34. |
|
12.03.2009, 14:40 | #8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
В макросе Workbook_Open
вместо строки .ListIndex = 0 поставь строки .ListIndex = -1 .Value = 1 |
12.03.2009, 15:07 | #9 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
Цитата:
Тока поясни, зачем ListIndex = -1, если тут же значение ставится 1(Value = 1) |
|
12.03.2009, 15:31 | #10 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Если оставить ListIndex = 0 и записывать в комбобокс единицу, то макрос не будет срабатывать, если на момент сохранения файла в этом комбобоксе уже была единица. Проще, конечно, было бы вместо этих строк просто запустить макрос ComboBox1_change, но в этом случае тебе надо было бы убрать ключевое слово private из заголовка макроса. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выполнить действие один раз. | IVANSour | Общие вопросы Delphi | 5 | 02.02.2009 22:01 |
выполнить действие. | IVANSour | Общие вопросы Delphi | 6 | 01.02.2009 22:53 |
Выполнить действие один раз. | IVANSour | Общие вопросы Delphi | 11 | 01.02.2009 14:17 |
При закрытии книги, удаляются листы | Romuald | Microsoft Office Excel | 3 | 20.01.2009 21:34 |