Предположим, что у меня были combobox1, 2, 3 и текстовое поле1 в пользовательской форме. After update
Событие было связано с combobox1. Когда нажата клавиша Tab, было запущено событие after update
(заполнение списков 2 и 3). В коде этого события, непосредственно перед выходом, было textbox1.setfocus
, чтобы пропустить ввод других кобобок в порядке вклада (combobox 1,2,3, textbox1). Все прошло отлично.VBA Excel Выход из события обновления после события введите событие
Когда я добавил еще одно combobox, которое теперь является combobox2, порядок вкладок был изменен на 1,2,3,4. After update
все еще ассоциируется с combobox1 и textbox1.setfocus - последняя строка перед выходом sub. К сожалению, когда выйдет выходная линия для after update
, она запускает combobox3 enter event
и перемещает фокус на combobox3. Это более непонятно, потому что порядок табуляции - combobox1,2,3,4, поэтому он также пропускает порядок вкладок.
Когда я отлаживал код, фокус на textbox1 был установлен так, как он должен, но все же только когда выполняется выход sub, строка кода перемещается в combobox3 enter event ... Любые советы, оцененные.
'Application.Enableevents = False' - предотвращать запуск других событий. Перед 'Exit Sub' или' End Sub' снова включите события. – vacip
@vacip Это может помочь, но все же - как получилось, что он начал вести себя так? – kkris77
@vacip Еще один вопрос для вас, ваше решение - когда я должен установить событие enable в false, а когда - в true? Мне нужно выполнить после события обновления, но введите пожары событий, только когда «exit sub» выполняется после события aupdate, и вы предложили включить события включения непосредственно перед «exit sub». – kkris77