Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code Tabellenbenennung

Forumthread: VBA Code Tabellenbenennung

VBA Code Tabellenbenennung
03.08.2005 19:18:41
Philipp
Hallo habe hier ein mit dem Macro Recorder aufgezeichneten Code zur Erstellung einer Pivot Tabelle. Excel generiert sich bei jedem Ausführen eine neues Tabellenblatt! Sonst hat es irgendwie nie funktionier wenn ich im das TAbellenblatt 2 zugewiesen habe! Wie kann man den Code verändern, das er die neue Tabelle Pivot nennt!
Und schön wäre auch noch ein seperater code zum lösen der selbigen mit einem neuen Makro!
Hier mein Code:
Tastenkombination: Strg+a
'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Tabelle1!R1C1:R41C5").CreatePivotTable TableDestination:="", TableName:= _
"PivotTable1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("PivotTable1").AddFields RowFields:=Array("AuflStufe" _
, "Hauptprozess", "Unterprozess", "Daten")
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Prozesszeit")
.Orientation = xlDataField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields("UnterprMenge").Orientation _
= xlDataField
ActiveWorkbook.ShowPivotTableFieldList = False
ActiveSheet.PivotTables("PivotTable1").PivotFields("AuflStufe").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("PivotTable1").PivotSelect "", xlDataAndLabel, True
ActiveSheet.PivotTables("PivotTable1").Format xlReport2
Range("B3").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Hauptprozess").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Application.CommandBars("PivotTable").Visible = False
End Sub
Danke Philipp
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code Tabellenbenennung
03.08.2005 21:04:01
Erich
Hallo Philipp,
1. Änderung des Blattnamens:
Schreib in einer neuen Zeile vor "End Sub"
activesheet.name="Pivot"
2. Pivottabelle im gleichen Blatt wie die Quelldaten
Deinem Makro entnehme ich, dass du bei der Aufzeichnung angegeben hast, dass die Pivottabelle auf einem neuen Blatt erstellt werden soll.
Hättest du stattdessen statt "in neuem Arbeitsblatt" die Option "in bestehendem Arbeitsblatt" angeklickt angegeben, ab welcher Zelle die Pivottabelle erscheinen soll, hätte im aufgezeichneten Makro so etwas wie
TableDestination:="[Mappe1]xyz!R3C7"
statt
TableDestination:=""
gestanden.
Deine Fragen hättest du dir mit der Makroaufzeichnung auch selbst beantworten können!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: VBA Code Tabellenbenennung
04.08.2005 10:50:10
Philipp
Hallo Erich,
erstmal vielen Dank für deine Antwort. Habe jetzt aber immer noch Probleme! Wenn ich Excel ein Tabellenblatt vorgebe in dem er die Pivot Tabelle erstellen soll egal ob im Tabellenblatt mit den Quelldaten oder in einem andern bekomme ich immer Fahlermeldungen.
Nachfolgend der Code:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Tabelle1!R1C1:R41C5").CreatePivotTable TableDestination:= _
"[Mappe1.xls]Pivot!R1C1:R185C5", TableName:="PivotTable2", DefaultVersion:= _
xlPivotTableVersion10
ActiveSheet.PivotTables("PivotTable2").AddFields RowFields:=Array("AuflStufe" _
, "Hauptprozess", "Unterprozess", "Daten")
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Prozesszeit")
.Orientation = xlDataField
.Position = 1
In diesem oben stehenden Bereich gibt er mir dann die Fehler an! Ich weiß nicht was ich da machen kann oder umbenennen. Das Tabellenblatt in das er reinkopieren soll ist Pivot Bereich AA:EE
End With
ActiveSheet.PivotTables("PivotTable2").PivotFields("UnterprMenge").Orientation _
= xlDataField
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveWindow.SmallScroll Down:=3
ActiveWorkbook.ShowPivotTableFieldList = False
Application.CommandBars("PivotTable").Visible = False
Application.CommandBars("Stop Recording").Visible = False
ActiveWindow.SmallScroll Down:=-162
Application.CommandBars("PivotTable").Visible = True
ActiveSheet.PivotTables("PivotTable2").PivotSelect "", xlDataAndLabel, True
ActiveSheet.PivotTables("PivotTable2").Format xlReport2
ActiveSheet.PivotTables("PivotTable2").PivotFields("AuflStufe").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Range("B1").Select
ActiveSheet.PivotTables("PivotTable2").PivotFields("Hauptprozess").Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Range("C7").Select
End Sub
Viele Grüße
Philipp
Anzeige
AW: VBA Code Tabellenbenennung
04.08.2005 12:05:19
Erich
Hallo Philipp,
ein paar Bemerkungen zu deinem Code:
Vor der Erstellung der Pivottabelle solltest du das Blatt aktivieren, auf das die Pivottabelle kommt:
Sheets("Pivot").Activate
Das Blatt muss also schon existieren. Und der Bereich, in dem dort die Pivottabelle erscheinen soll, muss leer sein.
Mit TableDestination gibt man EINE Zelle an, ab der die Pivottabelle stehen soll. (Vor der Erstellung wißt du ja nicht, wie viele Zeilen und Spalten die Pivottabelle genau benötigen wird, die Größe der Pivottabelle ändert sich ja auch während der Erstellung.) Also schreibst du besser
TableDestination:= "[Mappe1.xls]Pivot!R1C1"
statt
TableDestination:= "[Mappe1.xls]Pivot!R1C1:R185C5"
Die Angabe SourceData:= "Tabelle1!R1C1:R41C5" ist so ok.
Die Makroaufzeichnung würde das schon richtig machen:
- Aufzeichnung starten
- Blatt "Pivot" aktivieren
- Daten - Pivottabelle ...
- als Source den Bereich in Tabelle1 angeben (geht mit Maus)
- als Destination eine Zelle im (aktiven) Blatt "Pivot" angeben (geht mit Maus)
- Rest wie gehabt
Und noch eine Bemerkung: Es wäre sehr hilfreich, wenn du in deiner Frage sowohl die Zeile, in der ein Fehler auftritt, als auch die genaue Fehlermeldung schreiben würdest...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: VBA Code Tabellenbenennung
04.08.2005 14:18:08
Philipp
Danke schön Erich! Das klappt prima!!
Gruss Philipp
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige