Всем привет.
Сделал UserForm с несколькими элементами управления, в т.ч. comboBox'ами.
Идея была простая: при выборе пользователем значения из списка в первом combobox'е актуализируется источник данных для второго (RowSource), и т.д.
Но обнаружил странную вещь, которая портит всю логику.
При выборе значения из второго combobox'а используется обработчик события Change. Но он каким-то загадочным образом провоцирует аналогичное событие Change для первого combobox'а, хотя его никто не трогает.
Application.EnableEvents = False не помогает, упорно вызывается cbo1_Change и заканчивается ошибкой.
Можно было бы вставить On Error Resume Next, но хотелось бы обойтись без этого, т.к. это может привести к игнорированию настоящих ошибок.
закрытие формы (Terminate) тоже вызывает событие Change для combobox'ов и орет об ошибке. Если кто-то знает способ, как это обойти, буду благодарен
. Как показала пошаговая отладка, вызов события Change для ComboBox'а происходит в момент попытки применения автофильтра на листе, который никаким образом не имеет к этому ComboBox отношения. Не вижу в этом никакой логики
Буду благодарен за любую помощь.
Сделал UserForm с несколькими элементами управления, в т.ч. comboBox'ами.
Идея была простая: при выборе пользователем значения из списка в первом combobox'е актуализируется источник данных для второго (RowSource), и т.д.
Но обнаружил странную вещь, которая портит всю логику.
При выборе значения из второго combobox'а используется обработчик события Change. Но он каким-то загадочным образом провоцирует аналогичное событие Change для первого combobox'а, хотя его никто не трогает.
Application.EnableEvents = False не помогает, упорно вызывается cbo1_Change и заканчивается ошибкой.
Можно было бы вставить On Error Resume Next, но хотелось бы обойтись без этого, т.к. это может привести к игнорированию настоящих ошибок.
закрытие формы (Terminate) тоже вызывает событие Change для combobox'ов и орет об ошибке. Если кто-то знает способ, как это обойти, буду благодарен
. Как показала пошаговая отладка, вызов события Change для ComboBox'а происходит в момент попытки применения автофильтра на листе, который никаким образом не имеет к этому ComboBox отношения. Не вижу в этом никакой логики
Буду благодарен за любую помощь.