Sløyfe gjennom kontroller i Excel VBA - Enkle Excel -makroer

Innholdsfortegnelse

Med bare noen få kodelinjer kan vi enkelt gå gjennom kontrollene på en Excel VBA brukerform. Brukerformen vi skal lage ser slik ut:

For å opprette dette brukerskjemaet, utfør følgende trinn.

1. Åpne Visual Basic Editor. Hvis Project Explorer ikke er synlig, klikker du View, Project Explorer.

2. Klikk Sett inn, Brukerform. Hvis verktøykassen ikke vises automatisk, klikker du på Vis, Verktøykasse. Skjermen din skal konfigureres som nedenfor.

3. Legg til etiketten, merk av i boksene (først øverst, den andre under den første og så videre) og kommandoknapp. Når dette er fullført, bør resultatet være i samsvar med bildet av brukerskjemaet som ble vist tidligere. For eksempel kan du opprette en avkrysningsboks kontroll ved å klikke på CheckBox fra verktøykassen. Deretter kan du dra en avmerkingsboks på brukerskjemaet.

4. Du kan endre navnene og bildeteksten på kontrollene. Navn brukes i Excel VBA -koden. Bildetekster er de som vises på skjermen. Det er god praksis å endre navnene på kontrollene, men det er ikke nødvendig her fordi vi bare har noen få kontroller i dette eksemplet. For å endre bildeteksten til brukerskjemaet, etikett, avmerkingsbokser og kommandoknapp, klikk på Vis, Egenskapsvindu og klikk på hver kontroll.

5. For å vise brukerskjemaet, plasser en kommandoknapp i regnearket og legg til følgende kodelinje:

Private Sub CommandButton1_Click ()
UserForm1.Show
Slutt Sub

Vi har nå laget den første delen av Userform. Selv om det ser pent ut allerede, vil ingenting skje ennå når vi klikker på Slett -knappen.

6. Åpne Visual Basic Editor.

7. I Project Explorer dobbeltklikker du på UserForm1.

8. Dobbeltklikk på Slett -knappen.

9. Legg til følgende kodelinjer:

Private Sub CommandButton1_Click ()
Dim contr Som kontroll
For hver kontroll I UserForm1.Controls
Hvis TypeName (contr) = "CheckBox" Da
contr.Value = False
Slutt om
Neste
Slutt Sub

Forklaring: Excel VBA går gjennom alle kontrollene på brukerskjemaet. TypeName -funksjonen brukes til å filtrere ut avmerkingsboksens kontroller. Hvis en avkrysningsboks kontrolleres, fjerner merket for Excel VBA avmerkingsboksen. contr er tilfeldig valgt her, kan du bruke et hvilket som helst navn. Husk å referere til dette navnet i resten av koden.

Resultat når du klikker på Slett -knappen:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave