/ / Húzza át az Excel VBA vezérlőit

Húzza át az Excel VBA vezérlőit

Csak néhány sornyi kóddal könnyedén tudunk hurok át a vezérlőket egy Excel VBA Userform. A felhasználói forma, amelyet meg fogunk alkotni, a következőképpen néz ki:

Húzza át az Excel VBA vezérlőit

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, jelölőnégyzeteket (először a tetején, a második az első alatt, stb.) És a parancsgombot. Miután ez befejeződött, az eredménynek összhangban kell lennie a korábban bemutatott Userform képével. Például hozzon létre egy jelölőnégyzetet az Eszközkészletből a CheckBox gombra kattintva. Ezután húzza a jelölőnégyzetet 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, a jelölőnégyzetek és a parancsgomb képaláírásá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é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 Törlés gombra.

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

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

8. Kattintson duplán a Clear (Törlés) gombra.

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

Private Sub CommandButton1_Click()

Dim contr As control

For Each contr In UserForm1.Controls
    If TypeName(contr) = "CheckBox" Then
        contr.Value = False
    End If
Next

End Sub

Magyarázat: Az Excel VBA végigvezeti a Userform összes kezelőszerveit. A TypeName funkció a jelölőnégyzetek ellenőrzésének kiszűrésére szolgál. Ha egy jelölőnégyzet be van jelölve, az Excel VBA törli a jelölőnégyzetet. A contr parancs véletlenszerűen van kiválasztva, bármelyik nevet használhatja. Ne feledje, hogy ezt a nevet használja a kód többi részében.

Eredmény, ha rákattint a Törlés gombra:

Végigvezeti a vezérlések eredményét

Szintén olvasható: