/ / Loop genom böcker och skivor i Excel VBA

Loop genom böcker och skivor i Excel VBA

Nedan ser vi på ett program i Excel VBA den där loopar genom alla öppna arbetsböcker och arbetsblad, och visar alla namn.

Situation:

Loop genom böcker och ark exempel

Lägg till följande kodlinjer till kommandoknappen:

1. Först deklarerar vi två objekt och en variabel. Ett objekt av typen Arbetsbok vi kallar bok, ett objekt av typ Arbetsblad vi kallar ark och en variabel av typen String vi kallar text.

Dim book As Workbook, sheet As Worksheet, text As String

2. Vi vill gå igenom alla öppna arbetsböcker. För att uppnå detta lägger du till följande kodrad:

For Each book In Workbooks

3. Vi skriver texten "Arbetsbok:", arbetsbokens namn och texten "Arbetsblad:" "till variabeltexten.

text = text & "Workbook: " & book.Name & vbNewLine & "Worksheets: " & vbNewLine

Obs! Du kan använda & operatören för att sammanfoga (ansluta) element. För att starta en ny linje kan du använda vbNewLine.

4. För att slinga igenom alla arbetsblad i en arbetsbok, lägg till följande kodrad:

For Each sheet In book.Worksheets

5. Vi skriver namnen på arbetsbladen i en arbetsbok till den variabla texten.

text = text & sheet.Name & vbNewLine

6. Stäng den andra slingan.

Next sheet

7. Lägg till en vit linje.

text = text & vbNewLine

8. Glöm inte att stänga den första slingan.

Next book

9. Slutligen visar vi den variabla texten med hjälp av en MsgBox.

MsgBox text

10. Testa programmet. Innan du klickar på kommandoknappen, ge dina kalkylblad några beskrivande namn och öppna en annan tom arbetsbok.

Resultat:

Loop genom böcker och skivor i Excel VBA

Läs också: