Az alábbiakban megnézzük a programot Excel VBA amely létrehoz egy Felhasználói űrlapot, amely a többoszlopos kombinált doboz.
Az általunk létrehozandó Userform a következőképpen néz ki:
A Userform létrehozásához hajtsa végre az alábbi lépéseket.
1. Nyissa meg a Visual Basic Editor programot. Ha a Project Explorer nem látható, kattintson a View, Project Explorer elemre.
2. Kattintson a Beszúrás, Userform elemre. Ha az Eszköztár nem jelenik meg automatikusan, kattintson a Nézet, Eszköztár elemre. A képernyőt az alábbiak szerint kell beállítani.
3. Adja hozzá a címkét, a kombinált mezőt és a parancsgombokat. Ha ez befejeződött, az eredménynek összhangban kell lennie a Userform korábban bemutatott képével. Például hozzon létre egy kombinált doboz vezérlőt az Eszköztár ComboBox elemére kattintva. Ezután húzhat egy kombinált mezőt a Userformon.
4. Megváltoztathatja a vezérlők nevét és feliratát. A neveket az Excel VBA kódja használja. A feliratok azok, amelyek megjelennek a képernyőn. Jó gyakorlat a vezérlők nevének megváltoztatása, de itt erre nincs szükség, mert ebben a példában csak néhány vezérlő található. A Userform, a címke és a parancsgombok feliratának megváltoztatásához kattintson a Nézet, Tulajdonságok ablak, majd kattintson az egyes vezérlőelemekre.
5. A Userform megjelenítéséhez tegyen egy parancsgombot a munkalapra, és adja hozzá a következő kód sort:
Privát alparancsButton1_Click ()
UserForm1.Show
End Sub
Most létrehozzuk a Sub UserForm_Initialize almenüt. Ha a Showform módot használja a Userformhoz, ez az alprogram automatikusan végrehajtásra kerül.
6. Nyissa meg a Visual Basic Editor programot.
7. A Project Explorerben kattintson jobb gombbal a UserForm1 elemre, majd kattintson a Kód megtekintése parancsra.
8. Válassza a Userform lehetőséget a bal oldali legördülő listából. Válassza az Inicializálás lehetőséget a jobb oldali legördülő listából.
9. Adja hozzá a következő kódsorokat:
Privát alfelhasználóForm_Initialize ()
ComboBox1.ColumnCount = 2
Dim filmek (1 -től 5 -ig, 1 -től 2 -ig) karakterláncként
Dim i Mint egész, j Mint egész
Filmek (1, 1) = "A gyűrűk ura"
Filmek (2, 1) = "Sebesség"
Filmek (3, 1) = "Csillagok háborúja"
Filmek (4, 1) = "A keresztapa"
Filmek (5, 1) = "Pulp Fiction"
Filmek (1, 2) = "Kaland"
Filmek (2, 2) = "Akció"
Filmek (3, 2) = "Sci-Fi"
Filmek (4, 2) = "Bűnözés"
Filmek (5, 2) = "Dráma"
ComboBox1.List = Filmek
End Sub
Magyarázat: Az első kódsor 2 -re állítja a kombinált doboz oszlopainak számát. Ahelyett, hogy a futásidőben beállítaná az oszlopok számát, ezt a beállítást a tervezéskor is konfigurálhatja. Ennek eléréséhez kattintson a jobb egérgombbal a kombinált mező vezérlőjére, kattintson a Tulajdonságok elemre, és állítsa a ColumnCount tulajdonságot 2-re. Ezután deklarálunk és inicializálunk egy kétdimenziós tömböt. Az utolsó kódsor hozzárendeli a tömböt a kombinált mezőhöz.
Elkészítettük a Userform első részét. Bár már elegánsnak tűnik, még semmi sem fog történni, ha rákattintunk a Userform parancssorára.
10. A Project Explorerben kattintson duplán a UserForm1 elemre.
11. Kattintson duplán az OK gombra.
12. Adja hozzá a következő kódsorokat:
Privát alparancsButton1_Click ()
Tölts ki engem
MsgBox "Ön választotta" & ComboBox1.Value
Hiba esetén Folytassa a következőt
MsgBox "Tetszik" & ComboBox1.Column (1) & "films"
End Sub
Megjegyzés: ezek a kódsorok bezárják az Excel VBA felhasználói űrlapot, és megjelenítik a kiválasztott elemet és műfajt. Az „On Error Resume Next” kijelentés figyelmen kívül hagyja a hibát, amikor a felhasználó kitölti saját filmjét (ebben az esetben nincs elérhető műfaj).
13. Kattintson duplán a Mégse gombra.
14. Adja hozzá a következő kód sort:
Privát alparancsButton2_Click ()
Tölts ki engem
End Sub
Eredmény, ha a Sebesség lehetőséget választja, majd az OK gombra kattint.