Sløjfe gennem kontroller i Excel VBA - nemme Excel -makroer

Indholdsfortegnelse

Med bare et par linjer kode kan vi let sløjfe gennem kontrollerne på en Excel VBA -brugerform. Brugerformen, vi skal oprette, ser således ud:

For at oprette denne brugerformular skal du udføre følgende trin.

1. Åbn Visual Basic Editor. Hvis Project Explorer ikke er synlig, skal du klikke på View, Project Explorer.

2. Klik på Indsæt, brugerform. Hvis Toolbox ikke vises automatisk, skal du klikke på View, Toolbox. Din skærm skal konfigureres som nedenfor.

3. Tilføj etiketten, afkrydsningsfelter (først øverst, den anden under den første osv.) Og kommandoknap. Når dette er udført, skal resultatet være i overensstemmelse med billedet af brugerformularen vist tidligere. For eksempel kan du oprette en afkrydsningsfeltkontrol ved at klikke på CheckBox fra værktøjskassen. Dernæst kan du trække et afkrydsningsfelt på brugerformularen.

4. Du kan ændre betegnelsernes navne og billedtekster. Navne bruges i Excel VBA -koden. Billedtekster er dem, der vises på din skærm. Det er god praksis at ændre navnene på kontrolelementerne, men det er ikke nødvendigt her, fordi vi kun har få kontrolelementer i dette eksempel. Hvis du vil ændre billedteksten for brugerformularen, etiketten, afkrydsningsfelterne og kommandoknappen, skal du klikke på Vis, vinduet Egenskaber og klikke på hver kontrol.

5. For at vise brugerformularen skal du placere en kommandoknap på dit regneark og tilføje følgende kodelinje:

Privat underkommandoButton1_Click ()
UserForm1.Show
Afslut Sub

Vi har nu oprettet den første del af brugerformularen. Selvom det allerede ser pænt ud, vil der ikke ske noget endnu, når vi klikker på knappen Ryd.

6. Åbn Visual Basic Editor.

7. I Project Explorer skal du dobbeltklikke på UserForm1.

8. Dobbeltklik på knappen Slet.

9. Tilføj følgende kodelinjer:

Privat underkommandoButton1_Click ()
Dim contr Som kontrol
For hver kontrol I UserForm1.Controls
Hvis TypeName (contr) = "CheckBox" Så
contr.Value = Falsk
Afslut Hvis
Næste
Afslut Sub

Forklaring: Excel VBA går igennem alle kontroller på brugerformularen. TypeName -funktionen bruges til at filtrere afkrydsningsfeltets kontroller. Hvis et afkrydsningsfelt kontrollerer, fjerner afkrydsningsfeltet i Excel VBA. contr vælges tilfældigt her, kan du bruge et hvilket som helst navn. Husk at referere til dette navn i resten af ​​din kode.

Resultat, når du klikker på knappen Ryd:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave