В ячейке «A1» нажмите, затем откроется окно комбинации11

#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. ПОТРЯСАЮЩЕ! Спасибо. Мгновенно сработало! Я использовал его, чтобы «заставить» пользователя «выбрать значение» из поля со списком с «переопределением выбора для ввода переменных данных в ячейку. Очень ценю вашу помощь в этом.