Makro för att loopa genom alla kalkylblad i en arbetsbok

Sammanfattning

Denna artikel innehåller ett Microsoft Visual Basic for Applications-makro (subprocedur) som loop genom alla kalkylblad i arbetsboken. Det här makrot visas även namnet på varje kalkylblad.

Mer information

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till med att förklara funktionen hos en viss procedur, men kan inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov. Om du vill prova exempelmakro gör du så här:

  1. Skriv följande makrokod i ett modulblad nya.

          Sub WorksheetLoop()         Dim WS_Count As Integer         Dim I As Integer         ' Set WS_Count equal to the number of worksheets in the active         ' workbook.         WS_Count = ActiveWorkbook.Worksheets.Count         ' Begin the loop.         For I = 1 To WS_Count            ' Insert your code here.            ' The following line shows how to reference a sheet within            ' the loop by displaying the worksheet name in a dialog box.            MsgBox ActiveWorkbook.Worksheets(I).Name         Next I      End Sub
  2. Placera insättningspunkten i linje med texten ”Sub WorksheetLoop()” och tryck på F5 om du vill köra makrot.

Makrot kommer att gå igenom arbetsboken och visa en meddelanderuta med ett annat namn varje gång den körs loopen. Observera att det här makrot kommer bara visa kalkylbladsnamn; Det visas inte namnen på andra typer av blad i arbetsboken. Du kan också gå igenom alla kalkylblad i arbetsboken med hjälp av en For Each-loop.

  1. Ange följande makrokod i ett modulblad nya.

          Sub WorksheetLoop2()         ' Declare Current as a worksheet object variable.         Dim Current As Worksheet         ' Loop through all of the worksheets in the active workbook.         For Each Current In Worksheets            ' Insert your code here.            ' This line displays the worksheet name in a message box.            MsgBox Current.Name         Next      End Sub
  2. Placera insättningspunkten i linje med texten ”Sub WorksheetLoop2()” och tryck på F5 om du vill köra makrot.

Det här makrot fungerar identiskt till makrot WorksheetLoop förutom att den använder en annan typ av loop för att behandla alla kalkylblad i arbetsboken.

Referenser

Mer information om hur du får hjälp med Visual Basic for Applications finns i följande artikel i Microsoft Knowledge Base:

163435 VBA: programmeringsresurser för Visual Basic for Applications

226118 OFF2000: programmeringsresurser för Visual Basic for Applications

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×