300 Eksempler

Sløjfe gennem kontrolelementer

Loop Through Controls

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:





Sløjfe gennem kontroller i Excel VBA

tæl tegn i en celle i Excel

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.



Brugerform Skærmopsætning i Excel VBA

3. Tilføj etiketten, afkrydsningsfelter (først øverst, den anden under den første osv.) Og kommandoknap. Når dette er gennemfø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øj følgende kodelinje:

Privat SubCommandButton1_Click ()

UserForm1.Show

Ende 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 .

hvordan man opretter graf i Excel

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

8. Dobbeltklik på knappen Slet.

9. Tilføj følgende kodelinjer:

Privat SubCommandButton1_Click ()

IngencontrSomstyring

Til HvercontrIUserForm1.Controls
HvisTypeName (contr) = 'CheckBox'Derefter
contr.Value = Falsk
Ende Hvis
Næste

Ende Sub

Forklaring: Excel VBA går igennem alle kontroller på brugerformularen. TypeName -funktionen bruges til at filtrere afkrydsningsfeltets kontroller. Hvis et afkrydsningsfelt kontrollerer, fjerner Excel VBA afkrydsningsfeltet. 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:

Sløjfe gennem kontrolresultater

8/11 Afsluttet! Lær meget mere om brugerformer>
Gå til næste kapitel: Rækkevidde



^