VBA / VB6 - Примусово відкривати ComboBox

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

Щоб примусити ComboBox відкритися, є наступна функція ...

 ComboBox1.DropDown 

Але ... для цього ми маємо фокус ComboBox, і якщо команда з іншого управління не відкриється.

Щоб відкрити інший ComboBox, вам слід скористатися трюком:

  • Помістіть 2 ComboBox на аркуші або UserForm і назвіть їх відповідно як ComboBox1 і CombBox2
  • Використовуйте наступний код, щоб зв'язати два ComboBox:

 Приватний Sub ComboBox1_Change () '========== Combo sur une feuille ========= 1' ComboBox2.Activate '========== Combo sur un UserForm ou VB6 ========= 2 'ComboBox2.SetFocus' ================================== ======== SendKeys "^ (F4)" Кінець Sub Приватний Sub ComboBox2_KeyDown (ByVal KeyCode як MSForms.ReturnInteger, ByVal Зсув як ціле число) Якщо KeyCode = 16, то ComboBox2.DropDown Кінець, якщо закінчити Sub 

По очищенню рядка 1 або 2 залежно від місця розташування ComboBox.

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

Завантажити зразок для Excel 97 - 2003

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

Попередня Стаття Наступна Стаття

Кращі Поради