Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1376to1380
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

Pivot Tabelle in normale Tabelle umwandeln

Pivot Tabelle in normale Tabelle umwandeln
29.08.2014 18:20:07
dip
Hallo Allerseits,
Gerne würde ich folgende Problemstellung in das Forum einbringen, in der Hoffnung, jemand kennt die Lösung dazu :-)
Ich habe ein Excel File mit einer Pivot Tabelle. Da der Pivot Tabelle eine grosse Menge an Daten zugrunde liegt inkl. Verbindung zu einer Access Datenbank, möchte ich das Pivot in eine ganz normale Tabelle umwandeln, damit einerseits das Dokument nur die angezeigten Werte enthält und somit das File keine mehrere MB gross ist und andererseis die Verbindung zur Access Datenbank nicht mehr besteht.
Ganz genial wäre es, wenn die Schaltflächen zum erweitern/reduzieren beibehaltet werden können.
Ich stelle mir das zusammen mit einem Makrobutton vor, "Pivot Tabelle exportieren".
Wenn der Benutzer auf diesen Makrobutton klickt, dann wird die Pivot Tabelle in ein neues Excel File als Tabelle kopiert und er kann das File wo er möchte abspeichern.
Wäre dies so möglich? Oder gäbe es andere Möglichkeiten?
Bin für jeden Tipp/Hilfe sehr dankbar!
Beste Grüsse
Patrick

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

Betreff
Datum
Anwender
Anzeige
AW: Pivot Tabelle in normale Tabelle umwandeln
31.08.2014 12:49:13
fcs
Hallo Patrick,
das Kopieren eines Pivotdatenbereichs ist kein Problem.
Erweitern/reduzieren ist jedoch eine Pivot-Funtion, die nicht kopierfähig ist.
Die Dateigröße kannst ggf. schon reduzieren indem du unter den Pivotoptionen im Register "Daten" die Option "Quelldaten mit Satei speichern" deaktivierst.
Gruß
Franz
Makros zum übertragen der Pivot-Tabelle in eine neue Datei
Sub CopyPivotIntoNewFile_1()
Dim pvTab As PivotTable
Dim wksZiel As Worksheet
Set pvTab = ActiveSheet.PivotTables(1)
Workbooks.Add Template:=xlWBATWorksheet
Set wksZiel = ActiveWorkbook.Worksheets(1)
pvTab.TableRange2.EntireColumn.Copy
With wksZiel.Cells(1, 1)
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
Range(pvTab.DataBodyRange.Range("A1").Address).Select
ActiveWindow.FreezePanes = True
End Sub
Sub CopyPivotIntoNewFile_2()
Dim pvTab As PivotTable
Dim wbZiel As Workbook, wksZiel As Worksheet
ActiveSheet.Copy
Set wbZiel = ActiveWorkbook
Set wksZiel = wbZiel.Worksheets(1)
Set pvTab = wksZiel.PivotTables(1)
If wbZiel.Connections.Count > 0 Then
wbZiel.Connections(1).Delete
End If
'bis hier sieht die Tabelle optisch noch wie die Pivot-Tabelle aus, _
sie hat aber keine Dazenquelle mehr und Pivot-Befehle funktionieren nicht mehr
Exit Sub 'Diese Zeile löschen, wenn Pivotformatierungen entfernt werden sollen
'die folgenden Zeilen entdernen dann pivotspezifische Formate
wksZiel.UsedRange.Copy
wksZiel.UsedRange.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Anzeige
AW: Pivot Tabelle in normale Tabelle umwandeln
01.09.2014 10:17:27
dip
Guten Tag Franz,
Herzlichen Dank für die Makros und den Tipp!
Wie könnte man den Befehl "Quelldaten mit Datei speichern deaktivieren" in das Makro Nr. 2 einbinden?
Es ist zu beachten, dass pro Sheet mehrere Pivots vorhanden sein könnten...
Danke und Beste Grüsse
Patrick

AW: Pivot Tabelle in normale Tabelle umwandeln
01.09.2014 11:27:37
dip
... und vorhandene Verknüpfungen auch alle entfernt werden?...
Beste Grüsse
Patrick

AW: Pivot Tabelle in normale Tabelle umwandeln
01.09.2014 12:55:41
fcs
Hallo Patrick,
und hier dann mit Entfernen der Verknüpfungen
Gruß
Franz
Sub CopyPivotIntoNewFile_2()
Dim pvTab As PivotTable
Dim wbZiel As Workbook, wksziel As Worksheet
Dim varAuswahl As Variant, varElement As Variant
ActiveSheet.Copy
Set wbZiel = ActiveWorkbook
Set wksziel = wbZiel.Worksheets(1)
'Pivottabellen ohne Quelldaten speichern
For Each pvTab In wksziel.PivotTables
pvTab.SaveData = False
Next
'alle Datenverbindungen löschen
Do Until wbZiel.Connections.Count = 0
wbZiel.Connections(wbZiel.Connections.Count).Delete
Loop
'alle Excelverknüpfungen löschen
If Not IsEmpty(wbZiel.LinkSources(Type:=xlExcelLinks)) Then
For Each varAuswahl In wbZiel.LinkSources(Type:=xlExcelLinks)
wbZiel.BreakLink Name:=varAuswahl, Type:=xlLinkTypeExcelLinks
Next
End If
'alle OLE-Links löschen
If Not IsEmpty(wbZiel.LinkSources(Type:=xlOLELinks)) Then
For Each varAuswahl In wbZiel.LinkSources(Type:=xlOLELinks)
wbZiel.BreakLink Name:=varAuswahl, Type:=xlLinkTypeOLELinks
Next
End If
varAuswahl = Application.Dialogs(xlDialogSaveAs).Show
'bis hier sieht die Tabelle optisch noch wie die Pivot-Tabelle aus, _
sie hat aber keine Dazenquelle mehr und Pivot-Befehle funktionieren nicht mehr
Exit Sub 'Diese Zeile löschen, wenn Pivotformatierungen entfernt werden sollen
'die folgenden Zeilen entfernen dann pivotspezifische Formate
wksziel.UsedRange.Copy
wksziel.UsedRange.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Anzeige
AW: Pivot Tabelle in normale Tabelle umwandeln
02.09.2014 13:03:36
dip
Guten Tag Franz,
Vielen herzlichen Dank, dein Makro funktioniert genau wie es soll!
Damit hast Du mir sehr weitergeholfen in meiner Arbeit :-)
Nochmals Dankeschön für deine Hilfe und wünsche Dir einen schönen Tag!
Beste Grüsse
Patrick

AW: Pivot Tabelle in normale Tabelle umwandeln
01.09.2014 12:31:46
fcs
Hallo Patrick,
Wie könnte man den Befehl "Quelldaten mit Datei speichern deaktivieren" in das Makro Nr. 2 einbinden?
Das müssste dann vor dem Löschen der Daten-Verbindung passieren, dann danach gibt es keine Quelldaten mehr bzw. der Pivto-Bericht ist bis auf ein parr Formatierungsreste hinüber.
Ich hab aber keine Ahnung, ob da im Hintergund noch irgendwelche großen Daten in der Datei rumliegen. Ich hab das nur mit einer Klitzekleinen Datenbank (3 Datensätze mit 7 Feldern) gettestet.
Es ist zu beachten, dass pro Sheet mehrere Pivots vorhanden sein könnten...
Dann muss man ggf. in einer Schleife mehrere Datenverbindungen kappen.
Gruß
Franz
Sub CopyPivotIntoNewFile_2()
Dim pvTab As PivotTable
Dim wbZiel As Workbook, wksziel As Worksheet
Dim varAuswahl As Variant
ActiveSheet.Copy
Set wbZiel = ActiveWorkbook
Set wksziel = wbZiel.Worksheets(1)
For Each pvTab In wksziel.PivotTables
pvTab.SaveData = False
Next
Do Until wbZiel.Connections.Count = 0
wbZiel.Connections(wbZiel.Connections.Count).Delete
Loop
varAuswahl = Application.Dialogs(xlDialogSaveAs).Show
'bis hier sieht die Tabelle optisch noch wie die Pivot-Tabelle aus, _
sie hat aber keine Dazenquelle mehr und Pivot-Befehle funktionieren nicht mehr
Exit Sub 'Diese Zeile löschen, wenn Pivotformatierungen entfernt werden sollen
'die folgenden Zeilen entfernen dann pivotspezifische Formate
wksziel.UsedRange.Copy
wksziel.UsedRange.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige