/ / Excel VBA Multicolumn kombinált doboz

Excel VBA Multicolumn kombinált doboz

Az alábbiakban egy programot nézünk be Excel VBA amely létrehoz egy Userformt, amely tartalmazza a többszínű kombinált doboz.

A felhasználói forma, amelyet meg fogunk alkotni, a következőképpen néz ki:

Multicolumn kombinált doboz Excel VBA-ban

A Userform létrehozásához hajtsa végre a következő lépéseket.

1. Nyissa meg a Visual Basic Editor alkalmazást. Ha a Project Explorer nem látható, kattintson a Nézet, a Project Explorer elemre.

2. Kattintson a Beszúrás, Felhasználóformátum elemre. Ha az Eszköztár nem jelenik meg automatikusan, kattintson a Nézet, Eszköztár elemre. A képernyő beállítása az alábbiak szerint történik.

Userform képernyőbeállítás az Excel VBA-ban

3. Adja hozzá a címkét, kombinált dobozt és parancsgombokat. Miután ez befejeződött, az eredménynek összhangban kell lennie a korábban bemutatott Userform képével. Például hozhat létre kombinált doboz vezérlést a ComboBox eszköztárból történő kattintással. Ezután húzza át a kombinált dobozt a Userformon.

4. Megváltoztathatja a vezérlők nevét és feliratait. A neveket az Excel VBA kódban használják. Feliratok azok, amelyek a képernyőn jelennek meg. Jó gyakorlat a vezérlők nevének megváltoztatása, de itt nem szükséges, mert ebben a példában csak néhány kontroll van. A Userform, a címke és a parancsgombok feliratának módosításához kattintson a Nézet, a Tulajdonságok ablakra, és kattintson az egyes vezérlőkre.

5. A Userform megjelenítéséhez helyezze a parancsgombot a munkalapra, és adja hozzá a következő kódot:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Most létrehozzuk a Sub UserForm_Initialize-t. Amikor a Userform metódust használja, ez a rész automatikusan végrehajtásra kerül.

6. Nyissa meg a Visual Basic Editor alkalmazást.

7. A Project Explorerben kattintson jobb gombbal a UserForm1-re, majd kattintson a View Code (Kód megtekintése) parancsra.

8. A bal oldali legördülő listáról válassza a Userform (Felhasználóformátum) lehetőséget. Válassza az Initialize lehetőséget a jobb legördülő listából.

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

Private Sub UserForm_Initialize()

ComboBox1.ColumnCount = 2

Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer

Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"

Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"

ComboBox1.List = Films

End Sub

Magyarázat: Az első kódsor a kombinált mező oszlopainak számát 2-re állítja. Ahelyett, hogy az oszlopok számát futási időben állíthatja be, ezt a beállítást a tervezési idő alatt is beállíthatja. Ehhez jobb egérgombbal kattintson a kombinált vezérlőgombra, kattintson a Tulajdonságok parancsra, és állítsa az oszlopkészlet tulajdonságot 2-re. Ezután kijelöljük és inicializáljuk a kétdimenziós tömböt. Az utolsó kódsor hozzárendeli a tömböt a kombinált mezőhöz.

Most létrehoztuk a Userform első részét. Bár már jól néz ki, még akkor sem történik semmi, amikor rákattintunk a Userform parancs gombjaira.

10. A Project Explorer programban kattintson duplán a UserForm1-re.

11. Kattintson duplán az OK gombra.

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

Private Sub CommandButton1_Click()

Unload Me

MsgBox "You selected " & ComboBox1.Value

On Error Resume Next
MsgBox "You like " & ComboBox1.Column(1) & " movies"

End Sub

Jegyzet: ezek a kódsorok lezárják az Excel VBA felhasználói formátumot, és megjelenítik a kiválasztott elemet és műfajt. Az "On Error Next Resume Next" utasítá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ódot:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Eredmény, ha kiválasztja a Sebességet, majd kattintson az OK gombra.

Multicolumn kombinált doboz eredménye

Multicolumn kombinált doboz eredménye

Szintén olvasható: