Страницы: 1
RSS
Очистка ячеек, связанных с ComboBox, при "сохранить как..."
 
Доброго дня всем!

Нужна помощь знатоков во вроде бы простом вопросе, а именно:
    Есть очень простой лист и 25 ComboBox-ов на нем. В коде каждого бокса по событию Change происходит очистка трех правых ячеек.  
Код
Private Sub ComboBox1_Change()
    Range("$T$14:$Y$14").ClearContents
    Range("$T$14").Select
End Sub
Все работает, все хорошо до тех пор пока не хочешь "сохранить как.." , причем не "сохранить" а именно "сохранить как..."
В этот момент все правые ячейки очищаются, но только те, в ComboBox которых есть текст отличный от "". Такое впечатление, что
при "сохранить как..." в ComboBox происходит событие Change, но только в не пустых.
Создал новый тестовый файл с тремя ComboBox, заполняю, жму "сохранить как.." - все хорошо, ничего не очищается ??
С таким столкнулся впервые, если кто знает, подскажите пожалуйста, где искать.

Заранее спасибо.
 
А нет ли в модуле книги каких-нибудь макросов? )
 
В стандартном модуле есть два макроса привязанные к двум кнопкам на листе, но они выполняют перенос данных из
совершенно других ячеек(не тех на которые ссылается код комбокса) в другой файл.

Но точно такие же кнопки с точно такими же до буквы макросами есть в других файлах и там этих "граблей" нет.
 
Модуль книги пустой? Тогда что-то с самим файлом...
 
Да в модуле книги вообще пусто - никаких кодов на открытие/закрытие книги нет, в том-то и дело...

Кстати, есть еще один  ComboBox на листе, но не среди этих 25 штук, а чуть в сторонке. У него тоже код на событие Change - изменение
даты  и времени в ячейках, так вот на него "сохранить как..." не распространяется - дата и время не меняются.
 
Вот кажется нашел:
       в Комбобоксах параметр ListFillRange ссылается на диапазон из другого листа (Лист2!A11:F327)
       после изменении ссылки на на этот лист(А11:А327) при "сохранить как.." его код не выполняется.
 
проверьте у комбобоксов поле ListFillRange и LinkedCell.
При изменении значений в этих ячейках происходит событие Change.
При пересчете книги перед сохранением, возможно, происходит пересчет ячеек в ListFillRange. Если какое-то значение в Combobox установлено, может происходить событие Change.
Особенно если в этих ListFillRange - какая-нибудь волатильная функция, типа ТДАТА()

Пример в файле
F1 творит чудеса
 
Цитата
Artmasterpro написал: араметр ListFillRange
ну вот пока писал и мастерил пример, уже сами ответ нашли :)
F1 творит чудеса
 
Всеравно большое спасибо  Максим Зеленский

буду формировать список на одном листе;)
 
А ведь сначала ничего не говорилось о том, что в диапазоне ListFillRange данные будут меняться ))
Страницы: 1
Наверх