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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert