/ / Loop kroz kontrole u programu Excel VBA

Loop kroz kontrole u programu Excel VBA

Sa samo nekoliko redaka koda, lako možemo petlje kroz kontrole na jednom Excel VBA Userform, Korisnički obrazac koji ćemo stvoriti izgleda ovako:

Loop kroz kontrole u programu Excel VBA

Da biste stvorili ovaj Userform, izvršite sljedeće korake.

1. Otvorite Visual Basic Editor. Ako Project Explorer nije vidljiv, kliknite View, Project Explorer.

2. Kliknite Insert, Userform. Ako Toolbox ne pojavljuje automatski, kliknite View, Toolbox. Vaš bi se zaslon trebao postaviti kao u nastavku.

Postavljanje zaslona korisničkog formata u programu Excel VBA

3. Dodajte oznaku, potvrdite okvire (prvi na vrhu, drugi ispod prve, itd.) I gumb za naredbu. Kada to završi, rezultat bi trebao biti u skladu s prethodno prikazanom korisničkom obrascu. Na primjer, izradite kontrolu okvira klikom na CheckBox iz Toolboxa. Zatim možete povući potvrdni okvir u Userform.

4. Možete promijeniti nazive i opise kontrola. Imena se koriste u Excel VBA kodu. Opisi su oni koji se pojavljuju na vašem zaslonu. Dobra je praksa mijenjati nazive kontrolnih jedinica, ali ovdje nije nužno jer imamo samo nekoliko kontrola u ovom primjeru. Da biste promijenili naslov Korisničkog obrasca, oznake, potvrdnih okvira i gumba naredbe, kliknite Prikaz, Prozor svojstava i kliknite na svaku kontrolu.

5. Da biste prikazali Userform, stavite gumb naredbe na radni list i dodajte sljedeću liniju koda:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Sada smo stvorili prvi dio Korisničkog obrasca. Iako već izgleda uredno, ništa se neće dogoditi kada kliknemo na gumb Obriši.

6. Otvorite Visual Basic Editor.

7. U Project Exploreru dvokliknite UserForm1.

8. Dvaput kliknite na gumb Obriši.

9. Dodajte sljedeće retke koda:

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

Obrazloženje: Excel VBA obavlja sve kontrole na korisničkom obrascu. Funkcija TypeName koristi se za filtriranje kontrolnih okvira. Ako potvrdite okvir, Excel VBA poništava potvrdni okvir. contr je slučajno odabran ovdje, možete koristiti bilo koji naziv. Ne zaboravite uputiti na ovo ime u ostatku koda.

Rezultat kada kliknete gumb Obriši:

Loop kroz kontrole rezultat

Također pročitajte: