Ez a cikk bemutatja, hogyan kell használni a vezérlőket a UserForms programban az Excel VBA -ban.
A VBA képes olyan űrlapok létrehozására, amelyekkel a felhasználó kölcsönhatásba léphet, mint például számla űrlapok vagy kapcsolattartási adatok. Egy űrlap számos űrlapvezérlőt tartalmazhat, például szövegdobozokat, kombinált mezőket, listamezőket és parancsgombokat. Ez a cikk a felhasználói űrlapokon használt legnépszerűbb vezérlőket tárgyalja, nevezetesen szövegdobozokat, címkéket, kombinált dobozokat, listamezőket, jelölőnégyzeteket és opciócsoportokat.
Ha többet szeretne megtudni a beépített felhasználói űrlapokról és az egyéni felhasználói űrlapok Excelben történő létrehozásáról, kattintson ide.
UserForm létrehozása
UserForm létrehozásához az Excel VBA -ban először meg kell nyitnunk a VBE szerkesztő.
Ha új felhasználói űrlapot szeretne beszúrni a kódjába, válassza a UserForm opciót a Beszúrás menüből.
Egy új felhasználói űrlap jelenik meg a Project Explorer és megjelenik a jobb oldali Kódablakban.
Az űrlapot a Tulajdonságok doboz. Ennek az ön alatt kell megjelennie Project Explorer.
Ha jól látható, nyomja meg a gombot F4 vagy kattintson Kilátás, Tulajdonságok ablak.
Kattintson a Név tulajdonságot, és nevezze át az űrlapot.
Most elkezdhetjük feltölteni űrlapunkat vezérlőkkel - a szövegdoboz vezérlő a legnépszerűbb vezérlőelem a címke vezérlő és parancs gombbal együtt.
Az űrlap vezérlőkkel való feltöltéséhez be kell kapcsolnunk az Eszköztárat.
Ban,-ben Menü, válassza ki Nézet> Eszköztár.
Szövegdoboz létrehozása
Szövegmező létrehozásához az űrlapon válassza ki a Szövegmező vezérlőt az Eszköztárban.
Húzzon egy doboz alakzatot az űrlapon az egérrel, tartsa lenyomva a bal gombot, majd engedje fel az egérgombot.
Mivel ez az első szövegdoboz, amelyet létrehozunk, a neve TextBox1 lesz. Az űrlaphoz hasonlóan a Tulajdonságok ablakban is átnevezheti a szövegdobozt.
Továbbra is létrehozhatunk annyi szövegdobozt az űrlapunkon, amennyit szükségesnek tartunk, és a Tulajdonságok ablak Név tulajdonságával megfelelő módon elnevezhetjük őket.
Címkevezérlő létrehozása
A címke vezérlője megmondja, hogy a szövegdobozt mi fogja használni. Húzza az űrlapot ugyanúgy, mint egy szövegmezőt, majd beírhatja a kívánt szöveget a címkevezérlőbe, pl .: Keresztnév az alábbiak szerint.
A szövegdobozokhoz hasonlóan továbbra is hozzon létre annyit, amennyi szükséges az űrlapon.
Kombinált dobozvezérlő létrehozása
A kombinált doboz (vagy egy legördülő mező) lehetővé teszi a felhasználó számára, hogy válasszon az értékek listájából. Kombinált ablak létrehozásához kattintson a Kombinált doboz vezérlő eszköztárában, majd kattintson és húzza az űrlapon lévő kombinált mezőt.
Nevezze el megfelelően a kombinált dobozt.
Értékek hozzáadása a kombinált mezőhöz
Annak érdekében, hogy értékekkel töltsük fel, be kell kódolnunk a Inicializálás a User űrlap objektum metódusa.
Az űrlap mögötti kód (CBF) eléréséhez kattintson duplán az űrlapra, vagy kattintson a kódgombra a Project Explorerben a kódnézetre való váltáshoz.
A bal oldali legördülő listában válassza a Felhasználói űrlap lehetőséget, majd a jobb oldali legördülő listában válassza az Inicializálás lehetőséget.
A legördülő mező kitöltéséhez írja be a következő kódot a Sub és End Sub alba:
1234 | Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaszka"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas" |
Természetesen folytathatjuk a listát az USA többi államával együtt!
Ha a felhasználói űrlapot szeretné futtatni a lista működéséhez, 1) váltson vissza az űrlap nézetre, majd 2) kattintson az Eszköztáron a Fuss gomb.
Kattintson a legördülő nyílra a lista megtekintéséhez.
Használhatunk egy tartományt az Excelben is a kombinált mező kitöltéséhez.
123456 | Privát alfelhasználóForm_Initialize ()Dim rng mint tartományMinden tartományban ("A1: A50")Me.cboState.AddItem rng.ValueKövetkező rngEnd Sub |
Ez felveszi az A1 - A50 tartományban tárolt értékeket, és ennek megfelelően kitölti a legördülő listát.
Lista dobozvezérlő létrehozása
A List Box vezérlő ugyanúgy működik, mint a Combo Box vezérlő, de lehetővé teszi számunkra, hogy az űrlap összes opcióját listaformátumban lássuk.
Válassza ki az Eszköztár Lista doboz vezérlőjét, majd húzással hozzon létre egy listamezőt az űrlapon.
Unod már a VBA kódpéldák keresését? Próbálja ki az AutoMacro -t!
Értékek hozzáadása a listamezőhöz
Az űrlap Initialize eseményébe írja be a következő kódot:
123456 | Privát alfelhasználóForm_Initialize ()Dim rng mint tartományMinden tartományban ("A1: A50")Me.lstState.AddItem rng.ValueKövetkező rngEnd Sub |
Az űrlap futtatásakor a lista mező az alábbi képen látható módon jelenik meg:
Jelölőnégyzet -vezérlő létrehozása
A jelölőnégyzetek lehetővé teszik a felhasználó számára, hogy ellenőrizze vagy törölje a jelölést.
Jelölje be a Jelölőnégyzet vezérlőt, majd kattintson a kívánt űrlapra.
Módosítsa a Jelölőnégyzet feliratát és nevét a Tulajdonságok ablakban.
Opciócsoport -vezérlő létrehozása az opciógombokkal
Egy opciócsoport lehetővé teszi a felhasználó számára, hogy számos elérhető opció közül válasszon. Az opciócsoport létrehozásának első lépése, ha hozzáad egy keretvezérlőt az űrlaphoz, majd hozzáadja az opciógombokat a hozzáadott kerethez. Ezzel biztosítjuk, hogy az űrlap futtatásakor egyszerre csak a keretben lévő Opciógombok közül lehessen kiválasztani egyet.
Válassza ki a Keret vezérlőt az eszköztárban, majd húzással hozzon létre egy keretet az űrlapon.
Válassza ki az Opciógomb vezérlőt az eszköztárban, majd kattintson a fent létrehozott keretben, hogy hozzáadja az opciógombot a kerethez. Szükség szerint ismételje meg.
Kattintson a keretre, és 1) módosítsa a keret nevét és a feliratot. Ezután 2) kattintson az összes opciógombra, és módosítsa a feliratot.
Parancsgomb létrehozása az űrlapból való kilépéshez
Ebben a szakaszban az űrlap bezárásának egyetlen módja az űrlapvezérlő sáv jobb sarkában található bezárás gomb használata. Az űrlapból való kilépés hatékonyabb módja, amely felett nagyobb mértékben rendelkezünk, az Exit gomb létrehozása az űrlapon. Ezt az Eszköztárban található Command Button Control segítségével teheti meg.
Válassza ki a Parancsgomb vezérlőt, majd kattintson és húzza az űrlapon a gomb létrehozásához.
A Felirat tulajdonság használatával módosítsa a parancs gomb feliratát OK -ra, a gyorsítót pedig „O” -ra
A gyorsító célja, hogy a felhasználó ebben az esetben a billentyűzet segítségével aktiválja a gombot Alt+O aktiválná a gombot.
Nagyszerű termék. Az AutoMacro nem csak írja a kódját, hanem menet közben is tanít! " - Tony, Egyesült Királyság
Tudj meg többetOlvassa el 900+ véleményünket
Kód hozzáadása a parancsgombhoz
A parancsgomb működéséhez kódot kell adnunk mögé, hogy a gombra kattintva a kód fusson. Ezt hívják a gomb kattintási eseményének.
A kattintási esemény eléréséhez kattintson duplán a gombra az űrlap tervezési nézetében.
1) A Kattintás esemény automatikusan létrejön, mivel ezt az eseményt használják leggyakrabban a Parancs gombokhoz.
2) Ha rákattintanánk a jobb oldali eljárás legördülő listára, akkor látnánk az összes eseménymódszer listáját, amelyek a Parancsgomb rendelkezésére állnak. Ez a lista attól függően változik, hogy milyen típusú vezérlőt hoztunk létre, mivel a különböző típusú vezérlőkhöz különböző események állnak rendelkezésre.
Írja be a következő kódot a parancsgomb kattintási eseményébe.
123456789101112131415 | Privát al cmdOK_Click ()Tartomány ("E1") = Me.txtFirstnameTartomány ("E2") = Me.txtNévTartomány ("E3") = Me.txtCellPhoneTartomány ("E4") = Me.cboStateHa Me.ckContactInfo = Igaz akkorTartomány ("E5") = "SMS engedélyezett"MásTartomány ("E5") = "SMS nem engedélyezett"Vége HaHa Me.opt1.Value = Igaz, akkor tartomány ("E6") = Me.opt1.CaptionHa Me.opt2.Value = Igaz, akkor tartomány ("E6") = Me.opt2.CaptionHa Me.opt3.Value = Igaz, akkor tartomány ("E6") = Me.opt3.CaptionTölts ki engemEnd Sub |
Ezután futtathatjuk az űrlapot, kitölthetjük a szövegmezőket, és kiválaszthatjuk a legördülő listából. Ezután kattintson az OK gombra az adatok Excelbe történő beviteléhez.