#excel #vba
#превосходить #vba
Вопрос:
Ячейка («A1») отображает значение соседней ячейки («B1»), которая является связанной ячейкой с (активным X) ComboBox11.
При нажатии на «A1» я хотел бы, чтобы открывался/выпадающий список ComboBox11, чтобы заставить пользователя выбрать значение в выпадающем списке.
В противном случае (если не щелкнуть) A1 отображает значение по умолчанию. (Уже работает)
Я понимаю, что «A1» можно было бы установить в качестве связанной ячейки, но в макете рабочего процесса это нежелательно.
Комментарии:
1. Какой код вы пробовали до сих пор? Где у вас с этим возникли проблемы? Пожалуйста, включите это в свой вопрос.
Ответ №1:
Нет никакого метода, который открывает поле со списком, но вы можете использовать событие SelectionChange на листе с полем со списком, чтобы сначала активировать поле со списком, а затем отправить клавиши «Alt-Down», чтобы открыть его.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then ActiveSheet.ComboBox11.Activate SendKeys "%{DOWN}" End If End Sub
Этот код должен входить в соответствующий объект листа в обозревателе проектов, а не в модуль общего кода.
Комментарии:
1. ПОТРЯСАЮЩЕ! Спасибо. Мгновенно сработало! Я использовал его, чтобы «заставить» пользователя «выбрать значение» из поля со списком с «переопределением выбора для ввода переменных данных в ячейку. Очень ценю вашу помощь в этом.