VBA / VB6 - Принуди ComboBox да се отвори

Excel, комбиниран с VBA, представлява мощен инструмент за създаване на персонализирани и автоматизирани решения за анализ на данни. VBA има вградени контроли като ComboBox, които позволяват на потребителите да избират от вече населен списък или да предоставят своя собствена информация. Човек може да свърже две ComboBox с помощта на метода SetFocus в потребителски код. След това потребителят може да стартира друг код, който използва кодовия код, който се връща от един ComboBox, за да инициализира другия. Тази функция помага на програмиста да настрои код по такъв начин, че след като се направи избор в ComboBox1, това води до автоматично отваряне на втория ComboBox.

За да накара ComboBox да се отвори, има следната функция ...

 ComboBox1.DropDown 

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

За да отворите друг ComboBox, трябва да използвате трик:

  • Поставете 2 ComboBox на работен лист или UserForm и ги наименувайте съответно като ComboBox1 и CombBox2
  • Използвайте следния код, за да свържете двете ComboBox:

 Частна под ComboBox1_Change () '========== Combo sur une feuille ========= 1' ComboBox2.Activate '========== Combo sur un UserForm ou VB6 ========= 2 'ComboBox2.SetFocus' ================================== ======== SendKeys "^ (F4)" Край Под частна подсистема ComboBox2_KeyDown (ByVal KeyCode като MSForms.ReturnInteger, ByVal Shift As Integer) Ако KeyCode = 16, тогава ComboBox2.DropDown End, End End 

Чрез изчистване на ред 1 или 2 в зависимост от местоположението на ComboBox.

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

Изтеглете проба за Excel 97 - 2003

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

Предишна Статия Следваща Статия

Топ Съвети