So durchsuchen sie tabellenkalkulationen in vba (mit beispielen)
Sie können die folgenden Methoden verwenden, um mit VBA durch Blätter in einer Excel-Arbeitsmappe zu navigieren:
Methode 1: Gehen Sie alle Tabellen durch
 SubLoopSheets ()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ws.Range("A1").Value = 100
Next ws
End Sub
Dieses spezielle Makro geht jedes Blatt in einer Arbeitsmappe durch und setzt den Wert in Zelle A1 jedes Blattes auf 100.
Methode 2: Durchsuchen Sie alle Arbeitsblätter, mit Ausnahme bestimmter
 SubLoopSheets ()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select
Next ws
End Sub
Dieses spezielle Makro durchläuft jedes Blatt in einer Arbeitsmappe und legt den Wert in Zelle A1 jedes Blattes auf 100 fest, mit Ausnahme der Blätter mit den Namen Sheet2 und Sheet3 .
Die folgenden Beispiele zeigen, wie Sie jede dieser Methoden in der Praxis mit einer Excel-Arbeitsmappe anwenden können, die vier leere Blätter enthält:

Beispiel 1: Durchsuchen Sie alle Arbeitsblätter
Mit dem folgenden Makro können wir den Wert der Zelle A1 auf jedem Blatt unserer Arbeitsmappe auf 100 setzen:
 SubLoopSheets ()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ws.Range("A1").Value = 100
Next ws
Wenn wir dieses Makro ausführen, ist der Wert der Zelle A1 in jedem Blatt der Arbeitsmappe gleich 100:

Beispiel 2: Durchsuchen Sie alle Arbeitsblätter, mit Ausnahme bestimmter
Nehmen wir an, wir möchten jedes Arbeitsblatt durchgehen und den Wert der Zelle A1 in jedem Blatt auf 100 setzen, mit Ausnahme der Blätter mit den Namen Sheet2 und Sheet3 .
Dazu können wir das folgende Makro erstellen:
 SubLoopSheets ()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    Select Case ws.Name
        Case Is = "Sheet2", "Sheet3"
        'Do not execute any code for these sheets
        Case Else
        ws.Range("A1").Value = 100
    End Select
Next ws
End Sub
Wenn wir dieses Makro ausführen, sehen wir, dass Sheet1 und Sheet4 in Zelle A1 den Wert 100 haben.
Allerdings haben Sheet2 und Sheet3 in Zelle A1 keinen Wert, da wir die Case- Funktion verwendet haben, um diese Blätter zu ignorieren:

Beachten Sie, dass wir in diesen Beispielen der Einfachheit halber jedes Arbeitsblatt durchgegangen sind und den Wert einer Zelle auf einen bestimmten Wert gesetzt haben.
Sie können jedoch bei Bedarf eine ähnliche Syntax mit einer For Each- Anweisung verwenden, um in jedem Blatt viel kompliziertere Aufgaben auszuführen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
 VBA: So zählen Sie die Anzahl der Zeilen im Bereich
 VBA: So zählen Sie Zellen mit bestimmtem Text
 VBA: So schreiben Sie COUNTIF- und COUNTIFS-Funktionen