Excel VBA Userform több oldallal - Egyszerű Excel makrók

Tartalomjegyzék

Az alábbiakban egy Excel VBA programot tekintünk meg, amely több oldalt tartalmazó felhasználói űrlapot hoz létre. Ez a felhasználói űrlap képeket is tartalmaz.

A többoldalas vezérlő két oldalt tartalmaz. Az 1. oldalon a felhasználó kitöltheti személyes adatait. A 2. oldalon a felhasználó jelezheti, hogy melyik festmény tetszik neki a legjobban.

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 Többoldalas vezérlőt, a címkéket, a szövegdobozokat (első a tetején, a második az első alatt), a keretet, az opciógombokat (az első a bal oldalon, a második a jobb oldalon), a listamező, a Képvezérlés és a parancs gomb. Ha ez befejeződött, az eredménynek összhangban kell lennie a Userform korábban bemutatott üres verziójával. Például hozzon létre egy többoldalas vezérlőt az Eszköztárban található Többoldalas elemre kattintva. Ezután húzhat egy többoldalas vezérlőt a Userformon. Amikor megérkezik a nemi kerethez, ne felejtse el először megrajzolni ezt a keretet, mielőtt belehelyezi a két opciógombot.

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 többoldalas lapok, a címkék, a keret, az opciógombok és a parancsgomb feliratának módosításához kattintson a Nézet, a Tulajdonságok ablak, majd 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 ()
ListBox1 -el
.AddItem "Hegyek"
.AddItem "Naplemente"
.AddItem "Strand"
.AddItem "Winter"
Vége ezzel
End Sub

Magyarázat: a 2. oldalon található lista mező kitöltődik.

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 kiválasztunk egy elemet a listából, vagy ha rákattintunk az OK gombra.

10. Töltse le a képeket (ennek az oldalnak a jobb oldalán), és adja hozzá a "C: \ test \" mappához

11. A Project Explorerben kattintson duplán a UserForm1 elemre.

12. Kattintson duplán a listamezőre.

13. Adja hozzá a következő kódsorokat:

Privát allistaBox1_Click ()
Ha ListBox1.ListIndex = 0 Akkor
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Vége Ha
Ha ListBox1.ListIndex = 1 Akkor
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Vége Ha
Ha ListBox1.ListIndex = 2 Akkor
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Vége Ha
Ha ListBox1.ListIndex = 3 Akkor
Image1.Picture = LoadPicture ("C: \ teszt \ Winter.jpg")
Vége Ha
End Sub

Magyarázat: ezek a kódsorok a listamezőben kiválasztott elemtől függően képet töltenek be.

14. Kattintson duplán az OK gombra.

15. Adja hozzá a következő kódsorokat:

Privát alparancsButton1_Click ()
Üres halvány sor
'Aktiválja a Sheet1 -et
1. lap. Aktiválás
'Határozza meg az üres sort
emptyRow = WorksheetFunction.CountA (Tartomány ("A: A")) + 1
'Információk átvitele
Cella (üres sor, 1). Érték = TextBox1.Value
Cella (üres sor, 2). Érték = TextBox2.Value
Ha OptionButton1.Value = Igaz akkor
Sejtek (emptyRow, 3) .Value = "Férfi"
Más
Cella (üres sor, 3) .Value = "Nő"
Vége Ha
Cella (üres sor, 4). Érték = ListBox1.Value
'Zárja be a Userformot
Tölts ki engem
End Sub

Magyarázat: először aktiváljuk a Sheet1 -et. Ezután meghatározzuk az üres sort. Az emptyRow változó az első üres sor, és minden rekord hozzáadásával növekszik. Ezután az adatokat a Userform -ból átvisszük az emptyRow adott oszlopaiba. Végül bezárjuk a Userformot.

16. Lépjen ki a Visual Basic Editorból, írja be az alábbi címkéket az 1. sorba, és tesztelje a Userform -ot.

Eredmény:

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

wave wave wave wave wave