Excel VBA Schleife über alle Tabellenblätter die mit AW beginnen?

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
798
Hallo zusammen.

Ich habe eine Excel-Arbeitsmappe die mit einem Export aus einer Datenbank gespeißt wird (Tabellenblatt Import). Ergänzend gibt es mehrere Tabellenbätter die mit AW gefolgt von einer 6 stelligen Zahl im Namen beginnen (z. B. AW010000).

Nun möchte ich gerne, dass bei Auslösen eines Commandbutton auf dem Tabellenblatt "Steuerung" die Tabellenblätter beginnend mit AW aufgerufen werden und dann ein Modul ausgeführt wird.

Folgendes Makro habe ich erstellt:

Code:
Sub Januar()
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
 If ws.Name <> worksheet("Steuerung") or Worksheet Import Then
    ws.name.select
 januar.januar_aktualisieren
 End If
Next

End Sub

Es werden vermutlich noch weitere Tabellenblätter, die nicht hiervon erfasst werden sollen hinzukommen. Meine Frage daher, gib es eine Möglichkeit die Schleife dahingehend abzuwandeln, dass diese für alle Tabellenblätter die mit AW beginnen und eine Gesamtlänge von 8 besitzen beginnt?

Da jeweilige tabellenblatt muss auch aufgerufen werden und dann das Modul durchlaufen, weil im Kopfbereich die einzelnen Summenzeilen definiert sind.
 
Mit left und len kannst du die ersten beiden Zeichen und die Länge des Tabellenblattnamens bestimmen.

If left(ws.name,2) = "AW" and len(ws.name) = 8 Then ...
 
  • Gefällt mir
Reaktionen: Darkman.X
Zurück
Oben