Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblätter einfügen und umbenennen

Tabellenblätter einfügen und umbenennen
28.08.2021 21:28:31
T_s
Hallo zusammen,
für eine Auswertung erstelle ich mehrer PivotTables. Dafür baue ich eine Basis und mag diese dann in verschiedene benannte Tabellenblätter einfügen. Bspw. kopiere ich eine PivotTable und erzeuge das Tabellenblatt A. Jetzt möchte ich nicht nur Tabellenblatt A sondern auch Tabellenblatt B,C,D,E,F... erzeugen. Ich habe schon einen Lösungsansatz per Liste gelesen, dass die Tabellenblattnamen in einem Sheet aufgelistet werden sollen und anschließend erstellt werden. Ich möchte allerdings die zu erzeugenden Namen ausschließlich im Code aufgelistet haben. Gibt es dafür bpsw. eine If Anweisung?
Mit folgendem Code arbeite ich zur Erstellung von Tabellenblatt A:

Sub CreatingA()
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim PT As PivotTable
Dim ws As Worksheet
Set ws = Worksheets("PivotTable")
'Blattname festlegen
BlattName = "A"
'Prüfen, ob das Blatt, welches eingefügt werden soll bereits vorhanden ist
'Nur einfügen, wenn Blatt noch nicht vorhanden ist
For Each blatt In Sheets
If blatt.Name = BlattName Then bolFlg = True
Next blatt
'Blatt nur einfügen, wenn noch nicht vorhanden
If bolFlg = False Then
With ThisWorkbook
.Sheets.Add After:=Sheets(Worksheets.Count)
.ActiveSheet.Name = "A"
End With
End If
Worksheets("PivotTable").PivotTables("Monatsauswertung").TableRange2.Copy Destination:=Worksheets("A").Range("B2")
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Für jede Hilfe bin ich sehr dankbar!
Grüße
Tobi
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter einfügen und umbenennen
28.08.2021 22:18:43
Werner
Hallo.
schreib deine Blattnamen in ein Array und lauf in einer Schleife durch das Array.

Public Sub aaa()
Dim arrBlätter As Variant
Dim i As Long, ws As Worksheet
Application.ScreenUpdating = False
arrBlätter = Array("A", "B", "C", "D", "E")
For i = LBound(arrBlätter) To UBound(arrBlätter)
On Error Resume Next
Set ws = Worksheets(arrBlätter(i))
If ws Is Nothing Then
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = arrBlätter(i)
Else
MsgBox "Blatt schon vorhanden"
End If
Next i
Set ws = Nothing
End Sub
Gruß Werner
Anzeige
AW: Tabellenblätter einfügen und umbenennen
28.08.2021 22:48:43
T_s
Hallo Werner,
vielen Dank für deine Nachricht. Ich hatte die vergessen zu fragen: Wie kopiere ich die Daten aus dem Tabellenblatt PivotTable und füge diese anschließend in Tabellenblatt B,C,D,... ein?
Grüße
Tobi
AW: Tabellenblätter einfügen und umbenennen
28.08.2021 23:01:37
Werner
Hallo,
könnte man aber auch selbst drauf kommen.

Public Sub aaa()
Dim arrBlätter As Variant
Dim i As Long, ws As Worksheet
Application.ScreenUpdating = False
arrBlätter = Array("A", "B", "C", "D", "E")
For i = LBound(arrBlätter) To UBound(arrBlätter)
On Error Resume Next
Set ws = Worksheets(arrBlätter(i))
If ws Is Nothing Then
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = arrBlätter(i)
Worksheets("PivotTable").PivotTables("Monatsauswertung").TableRange2.Copy _
Destination:=Worksheets(arrBlätter(i)).Range("B2")
Else
Worksheets("PivotTable").PivotTables("Monatsauswertung").TableRange2.Copy _
Destination:=Worksheets(arrBlätter(i)).Range("B2")
End If
Next i
Set ws = Nothing
End Sub
Wobei du dir so ja ständig die gleiche Pivot-Tabelle in alle Blätter kopierst. Keine Ahnung ob du das so willst, aber mehr weiß ich eben nicht.
Gruß Werner
Anzeige
AW: Tabellenblätter einfügen und umbenennen
28.08.2021 23:19:00
T_s
Hallo,
da hast du absolut recht, dass ich selbst hätte draufkommen können. Stande etwas auf dem Schlauch. Hast mir aber sehr weitergeholfen!!
Aus der einen PivotTable werden mehrere Auswertungen generiert, wofür ich mehrere Tabellenblätter benötige.
Gruß
Tobi
Gerne u. Danke für die Rückmeldung. o.w.T.
29.08.2021 08:57:08
Werner
AW: Tabellenblätter einfügen und umbenennen
28.08.2021 23:17:03
PawelPopolski
Warum nicht einfach das ganze Blatt kopieren?

Public Sub aaa()
Dim arrBlätter As Variant
Dim i As Long, ws As Worksheet
Application.ScreenUpdating = False
arrBlätter = Array("A", "B", "C", "D", "E")
For i = LBound(arrBlätter) To UBound(arrBlätter)
On Error Resume Next
Set ws = Worksheets(arrBlätter(i))
If ws Is Nothing Then
Worksheets("PivotTable").Copy after:=Worksheets(Sheets.Count)
ActiveSheet.Name = arrBlätter(i)
End If
Next i
Set ws = Nothing
End Sub

Anzeige
;
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige