Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
Anzeige
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige