На форме планируется несколько комбобоксов - как по кнопке "Получить результат" взять в работу именно активный комбобокс? Должна быть, наверно, какая то конструкция, типа: IF combobox_1 активный THEN берем значение combobox_1 и работаем с ним ELSE combobox_2 активный THEN берем значение combobox_2 и работаем с ним ELSE combobox_3 активный THEN берем значение combobox_3 и работаем с ним ... ENDIF
Проверил так, MsgBox UserForm.ActiveControl.Name - дает немного не то. UserForm.ActiveControl дает название кнопки(CommandButton1) - она действительно активная в момент последнего нажатия. Нет ли каких вариантов для именно комбобоксов?
Великий и могучий утес, сверкающий бой, с ногой на небе, живущий, пока не исчезнут машины.
Мне же нужно организовать примерно такой алгоритм: На форме несколько комбобоксов и кнопка "Получить результат", по нажатию КНОПКИ надо как то перебрать ВСЕ комбобоксы на форме, выяснить какой комбобокс был последний пользованный, и обработать его(взять его значение).
Вот как смог, если вкратце...))
Великий и могучий утес, сверкающий бой, с ногой на небе, живущий, пока не исчезнут машины.
Так то идея неплохая и логичная - с записью в переменную каждого входа в комбобокс. Я уже целую неделю штурмую VBA, именно штурмую...)) И некоторые вещи, и даже терминология, не совсем укладываются в голове...)) Контролов будет 6. Если есть пример, дай, изучу, будет понимание
Alexban65, в свойствах кнопки установите TakeFocusOnClick=False, тогда ActiveControl сохранит ссылку на тот контрол, который был активным до нажатия кнопки. Например попробуйте
Код
Private Sub CommandButton1_Click()
MsgBox ActiveControl.Name
End Sub
Казанский написал: Private Sub CommandButton1_Click() MsgBox ActiveControl.NameEnd Sub
Так то идея тоже неплохая. Тоже стоит попробовать. На форме кроме комбобоксов и двух кнопок("Получить результат" и "Выход") пока ничего не планируется.
Цитата
Юрий М написал: Я к Вам на ВЫ, а Вы мне "тыкаете"... Или мы знакомы?
Если где то "тыкнул" по невнимательности - извините...))
Великий и могучий утес, сверкающий бой, с ногой на небе, живущий, пока не исчезнут машины.
Alexban65 написал: Цитата Казанский написал:Private Sub CommandButton1_Click() MsgBox ActiveControl.NameEnd Sub Так то идея тоже неплохая. Тоже стоит попробовать.
Проверил-работает...) Для частного случая, как этот, подходит идеально. Я так понимаю что фокус на кнопку не переводится и на ней ActiveControl не срабатывает - это значит что действует предыдущий ActiveControl... Но у Юрия М, с идеей записи в переменную, более точное и общее решение(хотелось бы пример...)
Великий и могучий утес, сверкающий бой, с ногой на небе, живущий, пока не исчезнут машины.