![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
Как в макросе, удалить, результаты выбора ComboBox1 перед закрытием рабочей книги?
Наверное как -то так? Код:
Последний раз редактировалось valerij; 12.03.2009 в 00:11. |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Если он заполнялся программно - то да, именно так:
Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
Да программно, но не пойму, почему, так, надо делать при закрытии(так все работает), а если при открытии книги(так не работает)?
Код:
|
![]() |
![]() |
![]() |
#4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
В чём проявляется неработоспособность? У меня всё работает... |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]()
При открытии листа ВЕС, сначала я должен выбрать значение в ComboBox1, а потом в ComboBox2 иначе в ComboBox2 нет ничего.
Допустим я выбрал 1 -10, просмотрел и при закрытии книги сохранить, ОК. Еще раз открываем, стоит как сохранил, 1 -10, а мне теперь надо 1 -11, а в ComboBox2 пусто и пока я не передерну ComboBox1 -ComboBox2.... |
![]() |
![]() |
![]() |
#6 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
В макросе Workbook_Open
после строки Лист18.ComboBox1.Clear поставь строку Лист18.ComboBox2.Clear Тогда и второй комбобокс будет очищаться. Цитата:
Первый комбобокс ведь сбрасыватся вроде бы... Вообще, ты умудряешься формулировать задачи так, что очень сложно понять, что и как должно работать. |
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]() Цитата:
А если при закрытии книги, как выше, применить макрос, то все ОК, отсюда и возник вопрос, почему при закрытии очистка, а не при открытии!! Последний раз редактировалось valerij; 12.03.2009 в 14:34. |
|
![]() |
![]() |
![]() |
#8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
В макросе Workbook_Open
вместо строки .ListIndex = 0 поставь строки .ListIndex = -1 .Value = 1 |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
![]() Цитата:
Тока поясни, зачем ListIndex = -1, если тут же значение ставится 1(Value = 1) |
|
![]() |
![]() |
![]() |
#10 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Если оставить 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 |