Makro in allen Excel-Tabellenblättern ausführen
Schritt-für-Schritt-Anleitung
Um ein Makro in allen Tabellenblättern auszuführen, kannst du den folgenden VBA-Code verwenden. Dieser Code durchläuft jedes Tabellenblatt in deiner Arbeitsmappe und führt die definierten Anweisungen aus.
Sub Name_Tabellenblatt_Alle()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Sheets
With wks
If .[F2] <> "" Then
.[I4] = Right(Left(.[F2], 8), 4) ' macht das selbe wie deine Formel
.Name = .[I4]
End If
End With
Next
End Sub
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.
- Kopiere den obigen Code in das Modul.
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Drücke
ALT + F8, wähle "Name_Tabellenblatt_Alle" aus und klicke auf "Ausführen".
Häufige Fehler und Lösungen
-
Laufzeitfehler 1004: Dieser Fehler tritt auf, wenn die Zelle F2 in einem der Tabellenblätter leer ist. Um dies zu vermeiden, stelle sicher, dass du die Zeile mit der Überprüfung einfügst:
If .[F2] <> "" Then
-
Makro führt nichts aus: Wenn das Makro nicht funktioniert, überprüfe, ob die Zellen F2 und I4 in jedem Tabellenblatt vorhanden sind und Werte enthalten.
Alternative Methoden
Falls du eine einfachere Variante bevorzugst, kannst du auch den folgenden Code verwenden, wenn du nur den Namen des aktiven Tabellenblattes ändern möchtest:
Sub Name_Tabellenblatt()
With ActiveSheet
.[I4] = Right(Left(.[F2], 8), 4) ' macht das selbe wie deine Formel
.Name = .[I4]
End With
End Sub
Dieser Code ändert nur den Namen des aktuell aktiven Blattes.
Praktische Beispiele
Hier ist ein Beispiel, wie du den Code anpassen kannst, um den Namen der Tabellenblätter je nach Inhalt von F2 zu ändern:
Sub KST()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
With wks
.[I4] = Right(Left(.[F2], 8), 4) ' macht das selbe wie deine Formel
.Name = .[I4]
End With
Next
End Sub
Dieser Code wird durch alle Arbeitsblätter in der aktiven Arbeitsmappe iterieren und die Namen entsprechend ändern.
Tipps für Profis
-
Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um Laufzeitfehler elegant abzufangen:
On Error Resume Next
-
Namen validieren: Überprüfe, ob der neue Name für das Tabellenblatt gültig ist (z.B. keine verbotenen Zeichen wie \, /, ?, *, etc.).
FAQ: Häufige Fragen
1. Kann ich das Makro anpassen, um andere Zellen zu verwenden?
Ja, du kannst die Zellreferenzen im Code ändern, um andere Zellen zu nutzen.
2. Was sollte ich tun, wenn ich eine große Anzahl an Tabellenblättern habe?
Der Code ist so konzipiert, dass er durch alle Tabellenblätter iteriert, unabhängig von der Anzahl. Achte darauf, dass die Zellen F2 und I4 in jedem Blatt vorhanden sind.
3. Welche Excel-Version benötige ich?
Der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, beginnend mit Excel 2007 bis hin zu den neuesten Versionen.