VBA / VB6 - заставить ComboBox открыть

Excel в сочетании с VBA образует мощный инструмент для создания индивидуальных и автоматизированных решений для анализа данных. VBA имеет встроенные элементы управления, такие как ComboBox, которые позволяют пользователям выбирать из уже заполненного списка или вводить свои собственные данные. Можно связать два ComboBox с помощью метода SetFocus в пользовательском коде. После этого пользователь может запустить другой код, который использует код ключа, возвращаемый из одного ComboBox, для инициализации другого. Эта функция помогает программисту настроить код таким образом, чтобы после выбора в ComboBox1 автоматически открывался второй ComboBox.

Чтобы заставить ComboBox открыться, есть следующая функция ...

 ComboBox1.DropDown 

Но ... для этого у нас есть фокус ComboBox, и если команда из другого элемента управления он не откроется.

Чтобы открыть еще один ComboBox, используйте здесь трюк:

  • Поместите 2 ComboBox на лист или пользовательскую форму и назовите их соответственно как ComboBox1 и CombBox2
  • Используйте следующий код, чтобы связать два ComboBox:

 Private Sub ComboBox1_Change () '========== Combo sur une feuille ========= 1' ComboBox2.Activate '========== Combo sur un UserForm ou VB6 ========= 2 'ComboBox2.SetFocus' ================================= ======== SendKeys "^ (F4)" End Sub Private Sub ComboBox2_KeyDown (ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Если KeyCode = 16, то ComboBox2.DropDown End If End Sub 

Очистив строку 1 или 2 в зависимости от местоположения ComboBox.

Результат: когда вы делаете выбор в ComboBox 1, второй открывается автоматически.

Скачать образец для Excel 97 - 2003

  • Сервер 1: //sd-5.archive-host.com/membres/up/b05c9f3873215e8d2df70f056b74dce61198c32d/ASTUCES/3_combo__DropDown.xls

Предыдущая статья Следующая статья

Лучшие советы