VBA kombinált doboz

Kombinált dobozok lehetővé teszi a felhasználók számára, hogy válasszanak egy lehetőséget a legördülő menüből. A kombinált dobozok létrehozhatók a VBA UserForms vagy Excel munkalap segítségével. Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre és kezelhet ComboBox -okat a VBA -ban és az Excel -munkalapokban.

Ha meg szeretné tanulni a Listbox létrehozását, kattintson ide: VBA Listbox

Ha meg szeretné tanulni a jelölőnégyzet létrehozását, kattintson ide: VBA jelölőnégyzet

Hozzon létre egy kombinált dobozt az Excel munkalapon

A ComboBox munkalapba való beillesztéséhez lépjen a Fejlesztői lap, kattintson Beszúrás és az ActiveX vezérlők alatt válassza a lehetőséget Kombinált doboz:

Kép 1. Helyezzen be egy kombinált dobozt a munkalapba

Amikor kiválasztja a beillesztett kombinált dobozt, rákattinthat Tulajdonságok alatt Fejlesztői lap:

2. kép. Módosítsa a ComboBox tulajdonságait

Itt állíthatja be a ComboBox különböző tulajdonságait. Kezdésként megváltoztattuk az attribútumot Név nak nek cmbComboBox. Most már használhatjuk a ComboBox -ot ezzel a névvel a VBA -kódban.

Töltsön ki egy ComboBox -ot a VBA -kódban

Először is ki kell töltenünk a ComboBox -ot értékekkel. A legtöbb esetben a kombinált dobozt ki kell tölteni a munkafüzet megnyitásakor. Emiatt meg kell adnunk egy kódot a ComboBox objektumba való feltöltéséhez Munkafüzet, eljárás Nyisd ki. Ezt az eljárást minden alkalommal végrehajtja, amikor a felhasználó megnyitja a munkafüzetet. Itt a kód:

123456789 A Sheet1.cmbComboBox segítségével.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Vége ezzel

A legördülő menüre kattintva 5 név közül választhat (John, Michael, Jennifer, Lilly és Robert):

3. kép. Töltse ki a ComboBox -ot a VBA -ban

Töltsön ki egy ComboBox -ot egy cellák tartományából

A ComboBox kitöltésének másik lehetséges módja az, ha hagyja, hogy a felhasználó megtegye. A ComboBox összekapcsolható a cellák tartományával. Ennél a megközelítésnél minden egyes alkalommal, amikor egy felhasználó új értéket ad meg a cellatartományban, a ComboBox ezzel az értékkel frissül.

Ha engedélyezni szeretné ezt, menjen a Tulajdonságok a ComboBox mezőben, és állítsa be az attribútumot ListFillRange a sejtek tartományához (esetünkben E2: E5):

4. kép. Töltse ki a ComboBox -ot a cellák tartományából

A ComboBox -ot az E2: E5 tartományhoz kapcsoltuk, ahová a kívánt neveket adtuk (Nathan, Harry, George, Roberta). Ennek eredményeként a ComboBox most a következő nevekkel van feltöltve:

5. kép. Töltött ComboBox a cellák tartományából

Szerezzen be egy kombinált doboz kiválasztott elemét a VBA -ban

A ComboBox célja, hogy a felhasználók választhassanak. A felhasználók választásának lekéréséhez ezt a kódot kell használnia:

123 Dim strSelectedItem mint változatstrSelectedItem = Sheet1.cmbComboBox.Value

A felhasználók kiválasztása az attribútumban található Érték nak,-nek Sheet1.cmbComboBox tárgy. Ez az érték hozzá van rendelve a változóhoz strSelectedItem:

6. kép. Szerezzen be egy kiválasztott értéket a VBA ComboBox -ból

Mi választottunk Julia a ComboBoxban, és végrehajtotta az eljárást. Amint az 5. képen látható, a strSelectedItem van Julia, amely az általunk kiválasztott érték. Most ezt a változót tovább dolgozhatja a kódban.

Egy ComboBox törlése

Ha törölni szeretné a ComboBox -ot a VBA -ban, akkor használnia kell Egyértelmű a metódusa Sheet1.lstComboBox tárgy. Törli az összes elemet a ComboBoxból. Itt a kód:

1 Sheet1.cmbComboBox.Clear

Amikor végrehajtjuk a kódot, az üres ComboBox -ot kapjuk:

7. kép. Törölje a ComboBox -ot

Használjon ComboBox -ot Userform -ban

Mint már említettük, a Combobox -ot leggyakrabban a Userforms -ban használják. Ennek megmagyarázásához először be kell illesztenünk egy felhasználói űrlapot. A VBA szerkesztőben kattintson a jobb gombbal a modul nevére, majd kattintson a gombra Beszúrás és válasszon UserForm:

8. kép. Szúrjon be egy felhasználói űrlapot

A beszúrás vezérlőinek megjelenítéséhez engedélyeznie kell a Eszköztár. Ehhez kattintson a gombraEszköztár ikont az eszköztáron. Ezt követően megkapja az ablakokat az összes rendelkezésre álló vezérlővel. Rákattinthat ComboBox létrehozásához a Userformban.

9. kép. Helyezzen be egy ComboBox -ot a Userform -ba

A ComboBox nevet fogjuk adni cmbComboBox. Annak érdekében, hogy értékekkel töltsük fel, be kell helyeznünk a következő kódot a módszerbe Inicializálás a tárgyról UserForm:

12345678910111213 Privát alfelhasználóForm_Initialize ()A UserForm1.cmbComboBox segítségével.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Vége ezzelEnd Sub

Ez a kód minden alkalommal aktiválódik, amikor a felhasználó futtatja a Userformot, és a következő öt névvel tölti ki a Comboboxot:

10. kép. A ComboBox a Userform értékeivel

Ha a kiválasztott értéket a ComboBox -ból szeretné lekérni, akkor ugyanazt a logikát kell használnia a Combobox -nak a munkalapon, amelyet a cikk korábban ismertet.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave