300 Exempel

Loop through Controls

Loop Through Controls

Med bara några rader kod kan vi enkelt slinga igenom kontrollerna på en Excel VBA användarform . Användarformen vi ska skapa ser ut så här:





Slinga igenom kontroller i Excel VBA

Excel-formel för att söka efter dubbletter

För att skapa denna användarform, utför följande steg.





1. Öppna Visual Basic Editor . Om Project Explorer inte syns klickar du på View, Project Explorer.

2. Klicka på Infoga, användarform. Om Verktygslådan inte visas automatiskt klickar du på Visa, Verktygslåda. Din skärm bör konfigureras enligt nedan.



Userform Screen Setup i Excel VBA

3. Lägg till etiketten, markera rutorna (först överst, den andra under den första och så vidare) och kommandoknappen. När detta har slutförts bör resultatet överensstämma med bilden av användarformen som visades tidigare. Till exempel, skapa en kryssruta kontroll genom att klicka på CheckBox från Toolbox. Därefter kan du dra en kryssruta i användarformuläret.

4. Du kan ändra namn och bildtexter på kontrollerna. Namn används i Excel VBA -koden. Bildtexter är de som visas på skärmen. Det är bra att ändra namnen på kontrollerna, men det är inte nödvändigt här eftersom vi bara har några få kontroller i det här exemplet. För att ändra bildtexten för användarformen, etikett, kryssrutor och kommandoknapp, klicka på Visa, Egenskapsfönster och klicka på varje kontroll.

5. För att visa användarformuläret, placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

Privat SubCommandButton1_Click ()

UserForm1.Show

Slutet Sub

Vi har nu skapat den första delen av Userform. Även om det ser snyggt ut, kommer inget att hända ännu när vi klickar på knappen Rensa.

6. Öppna Visual Basic Editor .

hur gör du varannan linje skuggad i excel

7. Dubbelklicka på UserForm1 i Project Explorer.

8. Dubbelklicka på knappen Rensa.

9. Lägg till följande kodrader:

Privat SubCommandButton1_Click ()

IngenkontSomkontrollera

För VarjekontIUserForm1.Controls
OmTypeName (contr) = 'CheckBox'Sedan
contr.Value = Falskt
Slutet Om
Nästa

Slutet Sub

Förklaring: Excel VBA går igenom alla kontroller på användarformuläret. Funktionen TypeName används för att filtrera bort kryssrutans kontroller. Om en kryssruta kontrollerar avmarkerar Excel VBA kryssrutan. contr väljs slumpmässigt här kan du använda valfritt namn. Kom ihåg att referera till detta namn i resten av din kod.

Resultat när du klickar på knappen Rensa:

Loop through Controls Resultat

8/11 klar! Läs mer om användarformulär>
Gå till nästa kapitel: Räckvidd



^