Slinga igenom kontroller i Excel VBA - enkla Excel -makron

Innehållsförteckning

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:

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

1. Öppna Visual Basic Editor. Om Project Explorer inte syns, klicka 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 ska konfigureras enligt nedan.

3. Lägg till etiketten, kryssrutorna (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 Userform.

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, fönstret Egenskaper 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 underkommandoButton1_Click ()
UserForm1.Show
Avsluta 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.

7. Dubbelklicka på UserForm1 i Project Explorer.

8. Dubbelklicka på knappen Rensa.

9. Lägg till följande kodrader:

Privat underkommandoButton1_Click ()
Dim contr Som kontroll
För varje kontroll I UserForm1.Controls
Om TypeName (contr) = "CheckBox" Då
contr.Value = Falskt
Avsluta om
Nästa
Avsluta 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 hänvisa till detta namn i resten av din kod.

Resultat när du klickar på knappen Rensa:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave