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