Добрый день.
У меня в форме есть 2 КомбоБокса. В первом RowSource является неизменным и постоянным. А вот во втором он должен меняться в зависимости от первого.
В RowSource вставляются именованные диапазоны. Для второго Комбобокса диапазон вычисляется в ячейке листа по сложной формуле (в ней учитывается масса условий).
Код у меня следующий:
В ячейке МАКР_ВЫБ2 как раз и находится формула.
С КомбоБокс ActiveX это все благополучно работает (только используется ListFillRange), а вот с формой ошибка 308 все время выпадает... Пробовал значение проверять (добавлял на форме Label1 и в коде Label1.Value = Range("МАКР_ВЫБ2").Offset(0, 0) ) - значение ставится. Все перерыл - не могу ответа найти. Не работает конкретно эта строка с RowSource (при ее удалении макрос срабатывает)
У меня в форме есть 2 КомбоБокса. В первом RowSource является неизменным и постоянным. А вот во втором он должен меняться в зависимости от первого.
В RowSource вставляются именованные диапазоны. Для второго Комбобокса диапазон вычисляется в ячейке листа по сложной формуле (в ней учитывается масса условий).
Код у меня следующий:
Код |
---|
Private Sub ComboBox1_Change() Range("МАКР_ВЫБ1").Offset(0, 0) = ComboBox1.Text Лист1.Calculate ComboBox2.Value = "" ComboBox2.RowSource = Range("МАКР_ВЫБ2").Offset(0, 0) |
В ячейке МАКР_ВЫБ2 как раз и находится формула.
С КомбоБокс ActiveX это все благополучно работает (только используется ListFillRange), а вот с формой ошибка 308 все время выпадает... Пробовал значение проверять (добавлял на форме Label1 и в коде Label1.Value = Range("МАКР_ВЫБ2").Offset(0, 0) ) - значение ставится. Все перерыл - не могу ответа найти. Не работает конкретно эта строка с RowSource (при ее удалении макрос срабатывает)