Excel VBA: alle Tabellenblätter durchlaufen

Einer der großen Vorteile von Microsoft Office ist, dass man viel Fleißarbeit sich ersparen kann, in dem man VBA einsetzt. Und VBA ist zudem auch kompatibel mit so ziemlich allen Excel- und Office-Versionen, so dass die VBA-Skripte auch in alten Office-Versionen laufen bzw. umgekehrt uralte Skripte auch in der neuesten Office-Version noch funktionieren.

In Excel kommt es häufig vor, dass man eine Datei mit sehr vielen Tabellenblättern hat und man eine bestimmte Aktion auf alle Worksheets anwenden muss. Vielleicht muss man aus allen Exceltabellen eine PDF erzeugen!? Oder man muss überall ein Wasserzeichen einfügen oder eine bestimmte Formatierung der Eintrag in einer bestimmten Zelle vornehmen.

Mit dem folgenden VBA-Code werden alle Tabellenblätter in der betreffenden Exceldatei durchlaufen.

Public Sub RunThroughWorkSheets()
Dim WsTab As Worksheet
For Each WsTab In Sheets
    WsTab.Activate
    'Do something
Next WsTab
End Sub

WsTab: ist in diesem Code das Objekt zum jeweiligen Worksheet. Alles Worksheets werden mittel einer foreach-Schleife durchlaufen.

WsTab.Activate: Dieser Befehl aktiviert das Tabellenblatt bzw. wählt das Tabellenblatt aus. Der Befehl ist nicht immer zwingend notwendig und nach Möglichkeit auch weggelassen werden, weil dann die Code-Ausführung etwas schneller vonstatten geht. Aber durch diesen Befehl kann auch schön zuschauen, wie sich das Makro durch die einzelnen Exceltabellenblätter arbeitet.

'DoSomething: Hier kommt der eigentliche Code hin, der für jedes Tabellenblatt angewendet werden soll. Zum Beispiel der oben genannte PDF-Export.

[Datum: 22.05.2020]