VBA Listbox

A VBA -ban létrehozhat egy Listbox ahol a felhasználó választhat a felsorolt ​​lehetőségek közül. A Listbox gyakran használatos a Userforms -ban, de használható munkalapon is. Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre, tölthet fel és törölhet listát. Azt is látni fogja, hogyan lehet a felhasználó választását elérni a VBA -ban és használni a kódban.

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

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

Lista doboz létrehozása

Ahhoz, hogy egy Listboxot beilleszthessen a munkalapba, el kell mennie a Fejlesztői lap, kattintson Beszúrás és az ActiveX vezérlők alatt válassza a lehetőséget Lista mező:

Kép 1. Helyezzen be egy Listboxot a munkalapba

Amikor kiválasztja a beszúrt listát, rákattinthat Tulajdonságok alatt Fejlesztői lap:

2. kép: A Listbox tulajdonságainak módosítása

Itt állíthatja be a Listbox különböző tulajdonságait. Kezdetben megváltoztattuk az attribútumot Név nak nek lstListBox. Most használhatjuk a Listbox -ot ezzel a névvel a VBA -kódban.

Listabetöltés a VBA -kódban

Először is ki kell töltenünk a Listbox értékeket. A legtöbb esetben a listát ki kell tölteni a munkafüzet megnyitásakor. Emiatt be kell írnunk egy kódot a Listbox 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.lstListBox segítségével.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Vége ezzel

Amint az a 3. képen is látható, 5 névvel (John, Michael, Jennifer, Lilly és Robert) töltöttük fel a Listboxot:

3. kép. Töltse ki a listát a VBA -ban

Töltsön ki egy Listboxot egy cellák tartományából

A Listbox feltöltésének másik lehetséges módja az, ha hagyja, hogy a felhasználó megtegye. A Listbox összekapcsolható a cellák tartományával. Ezért minden alkalommal, amikor egy felhasználó új értéket ad meg a cellatartományban, a Listbox ezzel az értékkel frissül.

Ha engedélyezni szeretné ezt, menjen a Tulajdonságok listából, és állítsa be az attribútumot ListFillRange:

4. kép. A Listbox kitöltése a cellák tartományából

A Listboxot az E2: E5 tartományhoz kapcsoltuk, ahová a kívánt neveket adtuk (Nathan, Harry, George, Roberta). Ennek eredményeként a Listbox mostantól ezekkel a nevekkel van feltöltve.

Szerezzen be egy kiválasztott elemet egy listabockából a VBA -ban

A Listbox célja, hogy a felhasználók választhassanak. A felhasználó által kiválasztott érték lekéréséhez ezt a kódot kell használnia:

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

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

5. kép. Szerezzen be egy kiválasztott értéket a VBA Lista mezőjéből

Mi választottunk Harry a Listboxban, és végrehajtotta az eljárást. Amint az 5. képen látható, a strSelectedItem van Harry, amely az általunk kiválasztott érték. Továbbá feldolgozhatja ezt a változót a kódban.

Lista doboz törlése

A VBA listalista törléséhez a következőt kell használnia Egyértelmű a metódusa Sheet1.lstListBox tárgy. Törli az összes elemet a listából. Itt a kód:

1 Sheet1.lstListBox.Clear

Amikor végrehajtjuk a kódot, az üres Listboxot kapjuk:

6. kép. Törölje a Listboxot

Használjon Listboxot egy felhasználói űrlapon

Amint említettük, a Listboxot 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:

7. 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 ListBox létrehozásához a Userformban.

8. kép. Helyezzen be egy Listboxot a Userformba

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.lstListBox 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 fel a Listboxot:

9. kép. A Listbox értékekkel a Userformban

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