Slik bruker du for hver sløyfe i Excel VBA

Slik bruker du for hver sløyfe i Excel VBA
Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

Loops og VBA går sammen, og med en god grunn også. Når du arbeider med Microsoft Office-objekter som arbeidsbøker, regneark og områder, kan løkker hjelpe deg med å veksle mellom hver av dem relativt enkelt.





Mens mer eller mindre alle VBA-løkkene fungerer bra med objekter, er 'for hver'-løkken et av de beste alternativene for å jobbe med objektsamlinger. Hvis du er ny på Excel VBA og ønsker å mestre for hver løkke, kan du raskt lære av noen av disse eksemplene. Her er alt du trenger å vite om denne typiske løkken.





MAKEUSE AV DAGENS VIDEO RULL FOR Å FORTSETTE MED INNHOLD

For hver løkkes syntaks

Syntaksen for hver loop er ganske lik den vanlige for loop i Excel VBA. Her er syntaksen:





finne kontoer knyttet til e -post gratis
 For each variable_name in object_collection 

[statement]

[statement]

[statement]

Next variable_name

Løkken starter med nøkkelordet 'for hver'; du kan bruke et hvilket som helst variabelnavn, etterfulgt av objektsamlingen. Objektet i for hver løkke kan være celler, områder, ark og til og med arbeidsbøker. Slik er skjønnheten i denne løkken; det gir deg fleksibiliteten til å jobbe med forskjellige Excel-samlinger.

Sløyfen går gjennom hver samlingsverdi og lagrer referansen i det definerte variabelnavnet. Etter kjøring utfører VBA de lagrede setningene i løkken og flytter til neste objekt i samlingen (den neste nøkkelord er nyttig her). La oss forstå kodestrukturen med et grunnleggende eksempel.



Slik bruker du for hver sløyfe i Excel VBA

Anta at du vil skrive ut et tall i cellene A1 til A10. Den beste tilnærmingen er å bruke for hver sløyfe med rekkeviddefunksjonen og la koden gjøre det nødvendige. Slik kan du gjøre denne enkle oppgaven:

  1. Åpne VBA-kodeeditoren ved å trykke Alt + F11 .
  2. Sett inn en modul ved å klikke på Modul alternativet innenfor Sett inn fanen.   Excel-ark med kolonneutgang's code editor
  3. Lag en underrutine ved å bruke sub()-kommandoen i koderedigeringsmodulvinduet. Sørg for at du tilordner et meningsfullt navn til underrutinen. For dette eksemplet kan du bruke navnet for_hver_løkke .

Nå som det grunnleggende er ute av veien, er det på tide å begynne å skrive koden. I underrutinen skriver du inn følgende kommandoer:





 Dim cell as range 

For each cell in Sheets("Sheet1").Range("A1:A10")

cell.value = 10

Next cell

Når koden kjøres, vil c variabel vil lagre verdien til A1. Deretter, når den går videre til setningen i løkken, evaluerer den kommandoen og legger inn en verdi på 10 i den definerte cellen, dvs. celle A1.

Til slutt, når den flytter til neste nøkkelord, flytter den til neste verdi, dvs. celle A2. Sløyfen løper til den når celle A10. Dette er den endelige utgangen:





  VBA-kodebit i editoren og excel-utdata

Bruke sløyfen med objekter: celler, ark og arbeidsbøker

Excel har tre hovedobjekttyper som du jobber med regelmessig. Dette er celler, ark og arbeidsbøker. Slik kan du bruke løkken med alle tre objekttypene.

Arbeide med celler og løkker sammen

Anta at du vil legge til en verdi og noen formateringsbetingelser til en rekke celler i Ark1. Som et første trinn må du definere betingelsene i loopen, etterfulgt av formateringskommandoene.

bruk av harddisk på 100 windows 10

Skriv inn følgende kode i en underrutine.

 Sub for_each_loop() 



Dim c As Range



For Each c In Sheets("Sheet1").Range("A1:A10")



With c

.Value = 10

.Font.Color = vbRed

.Font.Bold = True

.Font.Strikethrough = True



End With



Next c



End Sub
  VBA-kodebit i kodingsredigeringsprogrammet

De med funksjonen er nyttig når du utfører flere funksjoner med ett spesifikt objekt. Siden du ønsker å utføre en rekke oppgaver med c-variabelen, kan du kombinere dem alle ved å bruke en with..end with function.

Sløyfen likestiller cs verdi med hver celleverdi og legger inn verdien som 10. I tillegg endrer den cellens farge til rød, markerer verdien med fet skrift og slår den gjennom. Når den har fullført alle trinnene, går den til neste definerte verdi i området.

lag et iso -bilde fra operativsystemet Windows 10

Bruke løkken til å kontrollere ark

I likhet med eksemplet ovenfor kan du bruke for hver sløyfe for å kontrollere ark. Hva med å endre navnet på Sheet1 til Sheet3 ved å bruke VBA?

Du kan bruke følgende kode for å gi nytt navn til et eksisterende regneark i Excel ved å bruke VBA:

 Sub for_each_loop_sheets() 



For Each sht In ThisWorkbook.Sheets



If sht.Name = "Sheet1" Then



sht.Name = "Sheet3"



End If



Next sht



End Sub
  VBA-kodebit i editoren

Koden går gjennom hvert ark i arbeidsboken og kontrollerer navnet på hvert ark. Hvis den støter på navnet Ark1, endres det til Ark3. Den går gjennom de resterende arkene, hvis noen, i arbeidsboken. Når kodeutførelsen når det siste arket, går den ut av løkken og underrutinen.

Blant noen andre vanlige bruksområder kan du slå sammen flere regneark ved hjelp av VBA og oppdater innholdet i et enkelt ark ved hjelp av loops.

Gå gjennom arbeidsbøker med løkken

Til slutt kan du bruke for hver sløyfe til å bla gjennom forskjellige arbeidsbøker og utføre spesifikke oppgaver. La oss demonstrere denne funksjonen med et eksempel.

Du kan bruke VBA-kommandoer til å legge til tre nye arbeidsbøker og lukke alle de åpne sammen. Slik kan du gjøre det:

 Sub loop_wrkbook() 



Dim wrkbook as workbook



Workbooks.Add

Workbooks.Add

Workbooks.Add



For Each wrkbook In Workbooks



wrkbook.



Next wrkbook



End Sub