Für jede Zeile ein neues Tabellenblatt erstellen
Schritt-für-Schritt-Anleitung
- Öffne Excel und erstelle eine neue Arbeitsmappe oder öffne deine bestehende Arbeitsmappe mit den Firmendaten in „Tabelle2“ und „Tabelle4“.
- Drücke ALT + F11, um den VBA-Editor zu öffnen.
- Füge ein neues Modul hinzu:
- Rechtsklick auf „VBAProject“ → Einfügen → Modul.
-
Kopiere den folgenden Code in das Modul:
Sub sMarkus()
Dim WBQ As Workbook
Dim WBZ As Workbook
Set WBQ = ThisWorkbook
Set WBZ = Workbooks.Add ' später durch Open ersetzen
Lr = WBQ.Sheets("Tabelle2").Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To Lr
WBZ.Sheets.Add After:=WBZ.Sheets(Sheets.Count)
WBZ.Sheets(Sheets.Count).Name = WBQ.Sheets("Tabelle2").Cells(i, "A")
' Hier können weitere Zellübertragungen folgen
Next i
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe das Makro aus:
- Gehe zu „Entwicklertools“ → „Makros“ → wähle
sMarkus
und klicke auf „Ausführen“.
Häufige Fehler und Lösungen
Alternative Methoden
- Power Query: Statt VBA kannst du Power Query verwenden, um Daten aus einer Tabelle in neue Tabellenblätter zu importieren. Dies erfordert jedoch eine manuelle Konfiguration und ist weniger flexibel als ein VBA-Makro.
- Pivot-Tabellen: Wenn es dir nur um die Analyse der Daten geht, ziehe in Betracht, Pivot-Tabellen zu erstellen, anstatt neue Blätter für jede Zeile zu erzeugen.
Praktische Beispiele
Hier ein Beispiel, wie du eine Formel in die neuen Tabellenblätter einfügen kannst:
WS.Cells(3, 2).Formula = "=" & WBQ.Sheets("Tabelle2").Cells(i, 3).Address & "-(" & WBQ.Sheets("Tabelle2").Cells(i, 5).Address & "+" & WBQ.Sheets("Tabelle2").Cells(i, 7).Address & ")"
Diese Zeile kannst du innerhalb der Schleife nach dem Erstellen des neuen Blattes einfügen, um die gewünschte Berechnung zu automatisieren.
Tipps für Profis
- Fehlerbehandlung einfügen: Verwende
On Error Resume Next
am Anfang deines Codes, um Laufzeitfehler zu ignorieren und die Ausführung fortzusetzen.
- Optimierung: Wenn du viele Daten verarbeitest, deaktiviere das Bildschirm-Update mit
Application.ScreenUpdating = False
bevor du mit der Verarbeitung beginnst. Aktiviere es danach wieder mit Application.ScreenUpdating = True
.
FAQ: Häufige Fragen
1. Kann ich mehr als nur die Namen in die neuen Tabellenblätter übertragen?
Ja, du kannst weitere Zellen und Formeln hinzufügen, indem du den VBA-Code anpasst und die entsprechenden Zelladressen angibst.
2. Wie kann ich sicherstellen, dass keine Duplikate in den neuen Tabellenblättern entstehen?
Du kannst eine zusätzliche Überprüfung im Code hinzufügen, die vor dem Erstellen eines neuen Blattes prüft, ob der Name bereits existiert.
3. Welche Excel-Version benötige ich für das Ausführen von VBA-Skripten?
Die meisten modernen Excel-Versionen (Excel 2010 und später) unterstützen VBA und die beschriebenen Funktionen.