Minden egyes VBA-ban létrehozott Excel párbeszédpanel a saját UserForm objektumában van tárolva – UserForm-onként egy párbeszédpanel. Ezeket a felhasználói űrlapokat a Visual Basic szerkesztőben hozhatja létre és érheti el.
Új felhasználói űrlap beszúrása
Szúrjon be egy UserForm objektumot az alábbi lépésekkel:
Aktiválja a VBE-t az Alt+F11 billentyűkombinációval.
Válassza ki azt a munkafüzetet, amely a UserForm-ot fogja tárolni a Project ablakban.
Válassza a Beszúrás → Felhasználói űrlap lehetőséget.
A VBE beszúr egy új UserForm objektumot, amely egy üres párbeszédpanelt tartalmaz.
Itt van egy UserForm — egy üres párbeszédpanel. Az Ön feladata, ha úgy dönt, hogy elfogadja, néhány vezérlő hozzáadása ehhez a felhasználói űrlaphoz.

Egy új UserForm objektum.
Vezérlők hozzáadása a UserFormhoz
Amikor aktivál egy felhasználói űrlapot, a VBE egy lebegő ablakban jeleníti meg az eszköztárat. Az Eszköztár eszközeivel adhat vezérlőket a UserFormhoz. Ha valamilyen oknál fogva az Eszköztár nem jelenik meg a UserForm aktiválásakor, válassza a Nézet → Eszköztár menüpontot.
Vezérlő hozzáadásához kattintson a kívánt vezérlőelemre az Eszköztárban, és húzza át a párbeszédpanelbe a vezérlőelem létrehozásához. Miután hozzáadott egy vezérlőt, áthelyezheti és átméretezheti a szabványos technikák segítségével.
Itt található a különféle eszközök listája, valamint a képességeik.
| Ellenőrzés |
Mit csinál |
| Címke |
Szöveg megjelenítése |
| Szövegdoboz |
Lehetővé teszi a felhasználó számára, hogy szöveget írjon be |
| ComboBox |
Megjelenít egy legördülő listát |
| ListBox |
Megjeleníti az elemek listáját |
| Jelölőnégyzet |
Olyan lehetőségeket biztosít, mint be/ki vagy igen/nem |
| OptionButton |
Lehetővé teszi a felhasználó számára, hogy válasszon egyet a több lehetőség közül;
kettő vagy több csoportban használják |
| Váltó gomb |
Lehetővé teszi a felhasználó számára egy gomb be- vagy kikapcsolását |
| Keret |
Egyéb vezérlőket tartalmaz |
| CommandButton |
Egy kattintható gomb |
| TabStrip |
Lapokat jelenít meg |
| Többoldalas |
Egy füles tároló más objektumok számára |
| Görgetősáv |
Lehetővé teszi a felhasználó számára, hogy egy sávot húzzon a beállítás létrehozásához |
| SpinButton |
Lehetővé teszi a felhasználó számára, hogy egy gombra kattintva módosítsa az értéket |
| Kép |
Képet tart |
| RefEdit |
Lehetővé teszi a felhasználó számára egy tartomány kiválasztását |
UserForm vezérlő tulajdonságainak módosítása
A UserFormhoz hozzáadott minden vezérlőelem rendelkezik olyan tulajdonságokkal, amelyek meghatározzák a vezérlő megjelenését vagy viselkedését. Ezenkívül magának a UserForm-nak is megvan a maga tulajdonságkészlete. Ezeket a tulajdonságokat a találóan elnevezett Tulajdonságok ablakban módosíthatja. Ez a Tulajdonságok ablakot mutatja, ha egy CommandButton vezérlő van kiválasztva.

A Tulajdonságok ablakban módosíthatja a UserForm vezérlők tulajdonságait.
A Tulajdonságok ablak az F4 megnyomására jelenik meg, és az ebben az ablakban megjelenő tulajdonságok attól függenek, hogy mi van kiválasztva. Ha másik vezérlőelemet választ, a tulajdonságok az adott vezérlőelemnek megfelelőre változnak. A Tulajdonságok ablak elrejtéséhez és eltüntetéséhez kattintson a Bezárás gombra a címsorban. Az F4 megnyomása mindig visszahozza, amikor szüksége van rá.
A vezérlőelemek tulajdonságai a következők:
-
Név
-
Szélesség
-
Magasság
-
Érték
-
Felirat
Minden vezérlőnek megvannak a saját tulajdonságai (bár sok vezérlőnek van néhány közös tulajdonsága). Ha módosítani szeretne egy tulajdonságot a Tulajdonságok ablakban, kövesse az alábbi lépéseket:
Győződjön meg arról, hogy a megfelelő vezérlő van kiválasztva a UserForm-ban.
Győződjön meg arról, hogy a Tulajdonságok ablak látható.
A Tulajdonságok ablakban kattintson a módosítani kívánt tulajdonságra.
Végezze el a változtatást a Tulajdonságok ablak jobb oldalán.
Ha magát a UserForm-ot választja (nem egy vezérlőt a UserForm-on), akkor a Tulajdonságok ablakban módosíthatja a UserForm tulajdonságait.
A UserForm Code ablak megtekintése
Minden UserForm objektumnak van egy kódmodulja, amely tartalmazza a VBA kódot (az eseménykezelő eljárásokat), amely akkor fut le, amikor a felhasználó a párbeszédpanelen dolgozik. A kódmodul megtekintéséhez nyomja meg az F7 billentyűt. A Kód ablak üres, amíg nem ad hozzá néhány eljárást. Nyomja meg a Shift+F7 billentyűkombinációt a párbeszédpanelhez való visszatéréshez.
Íme egy másik mód a Code ablak és a UserForm megjelenítés közötti váltásra: Használja a Kód megtekintése és az Objektum megtekintése gombokat a Projekt ablak címsorában. Vagy kattintson a jobb gombbal a UserForm-ra, és válassza a Kód megtekintése parancsot. Ha kódot tekint meg, kattintson duplán a UserForm nevére a Project ablakban, hogy visszatérjen a UserForm-hez.
Felhasználói űrlap megjelenítése
A UserForm-ot a UserForm's Show metódussal jelenítheti meg egy VBA-eljárásban.
A párbeszédpanelt megjelenítő makrónak VBA-modulban kell lennie – nem a UserForm kód ablakában.
A következő eljárás megjeleníti a UserForm1 nevű párbeszédpanelt:
Sub ShowDialogBox()
UserForm1.Show
' Más kijelentések jöhetnek ide
Vége Sub
Amikor az Excel megjeleníti a párbeszédpanelt, a ShowDialogBox makró leáll, amíg a felhasználó be nem zárja a párbeszédpanelt. Ezután a VBA végrehajtja az eljárás összes többi utasítását. A legtöbb esetben nem lesz több kód az eljárásban. Amint később látni fogja, az eseménykezelő eljárásait a UserForm kód ablakába helyezte. Ezek az eljárások akkor lépnek életbe, amikor a felhasználó a UserForm vezérlőivel dolgozik.
Felhasználói űrlapból származó információk használata
A VBE nevet ad minden egyes UserForm-hoz hozzáadott vezérlőnek. A vezérlő neve megfelel a Name tulajdonságának. Ezzel a névvel hivatkozhat egy adott vezérlőelemre a kódban. Például, ha hozzáad egy CheckBox vezérlőt egy UserForm1 nevű UserForm-hoz, akkor a CheckBox vezérlőelem neve alapértelmezés szerint CheckBox1. A Tulajdonságok négyzet segítségével pipával jelenítheti meg ezt a vezérlőt. Vagy írhat kódot ehhez:
UserForm1.CheckBox1.Value = igaz
Legtöbbször egy UserForm kódját írja be a UserForm kódmoduljába. Ha ez a helyzet, akkor kihagyhatja a UserForm objektumminősítőt, és a következőképpen írhatja le az utasítást:
CheckBox1.Value = igaz
A VBA-kód a vezérlők különféle tulajdonságait is ellenőrizheti, és megteheti a megfelelő lépéseket. A következő utasítás egy PrintReport nevű makrót hajt végre, ha a jelölőnégyzet (CheckBox1) be van jelölve:
Ha a CheckBox1.Value = igaz, akkor hívja a PrintReportot
Általában érdemes megváltoztatni a VBE által a vezérlőknek adott alapértelmezett nevet valami értelmesebbre.