/ / Loop prostredníctvom ovládacích prvkov v programe Excel VBA

Loop prostredníctvom ovládacích prvkov v programe Excel VBA

S niekoľkými riadkami kódu môžeme ľahko cez ovládacie prvky na Excel VBA Userform, Forma User, ktorú chceme vytvoriť, vyzerá takto:

Loop prostredníctvom ovládacích prvkov v programe Excel VBA

Ak chcete vytvoriť tento Userform, vykonajte nasledujúce kroky.

1. Otvorte Editor jazyka. Ak nástroj Project Explorer nie je viditeľný, kliknite na položku Zobraziť, Project Explorer.

2. Kliknite na Insert, Userform. Ak sa panel nástrojov nezobrazí automaticky, kliknite na položku Zobraziť, panel s nástrojmi. Obrazovka by mala byť nastavená tak, ako je uvedené nižšie.

Nastavenie obrazovky používateľa v programe Excel VBA

3. Pridajte štítok, začiarkavacie políčka (najskôr v hornej časti, druhá pod prvou atď.) A príkazové tlačidlo. Po dokončení tohto výsledku by mal byť výsledok v súlade s obrázkom užívateľa, ktorý je zobrazený skôr. Napríklad vytvorte kontrolu zaškrtávacieho políčka kliknutím na políčko CheckBox z panelu nástrojov. Ďalej môžete zatiahnuť začiarkavacie políčko na Userform.

4. Môžete zmeniť názvy a popisy ovládacích prvkov. Názvy sa používajú v kóde programu Excel VBA. Titulky sú tie, ktoré sa zobrazujú na vašej obrazovke. Správna prax je zmeniť mená ovládacích prvkov, nie je to však potrebné, pretože v tomto príklade máme len niekoľko kontrol. Ak chcete zmeniť popis súboru Userform, označenie, začiarkavacie políčka a príkazové tlačidlo, kliknite na položku Zobraziť, okno Vlastnosti a kliknite na každý ovládací prvok.

5. Ak chcete zobraziť Userform, umiestnite do pracovného hárka príkazové tlačidlo a pridajte nasledujúci riadok kódu:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Teraz sme vytvorili prvú časť Userform. Aj keď to vyzerá dobre, nič sa nestane, keď klikneme na tlačidlo Vymazať.

6. Otvorte Editor jazyka.

7. V programe Project Explorer dvakrát kliknite na UserForm1.

8. Dvakrát kliknite na tlačidlo Vymazať.

9. Pridajte nasledujúce riadky kódu:

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

vysvetlenie: Program Excel VBA prechádza cez všetky ovládacie prvky na Userform. Funkcia TypeName sa používa na odfiltrovanie ovládacích prvkov začiarkavacieho políčka. Ak začiarkavacie políčko kontroluje, Excel VBA zruší začiarknutie políčka. contr je náhodne vybraný tu, môžete použiť akékoľvek meno. Nezabudnite sa na tento názov odvolať vo zvyšku kódu.

Výsledok po kliknutí na tlačidlo Vymazať:

Loop prostredníctvom výsledkov ovládacích prvkov

Tiež si prečítajte: