AW: Kopieren von Daten
30.09.2008 17:27:00
Daten
Hallo Tom,
hier ein Beispiel als Grundgerüst. Abhängig davon, in welcher Datei du das Makro speicherst muss die Ziel-Arbeitsmappe und evtl. auch die Quelldatei anders festgelegt werden.
Am einfachsten ist es, das Makro in einer separaten Arbeitsmappe zu speichern und diese als Steuerungsdatei zum Erzeugen der Datei mit den kopierten Daten zu benutzen.
Gruß
Franz
Sub PivotdatenInDateiKopieren()
Dim wbZiel As Workbook, wksZiel As Worksheet
Dim wbQuelle As Workbook, wksQuelle As Worksheet, pvTable As PivotTable
'Neue Datei als Zieldatei mit einem Tabellenblatt anlegen, ggf. Datei anders definieren
Set wbZiel = Workbooks.Add(Template:=xlWBATWorksheet)
'Zieltabellenblatt festlegen
Set wksZiel = wbZiel.Worksheets(1)
'Datei mit originaldaten öffnen
Set wbQuelle = Workbooks.Open(Filename:="C:\Lokale Daten\Test\Kopie von 55731.xls", _
ReadOnly:=True)
'Quelltabellenblatt mit Pivottabelle festlegen
Set wksQuelle = wbQuelle.Worksheets("PivotTab")
'Pivottabelle einer Variablen zuordnen
Set pvTable = wksQuelle.PivotTables(1)
'Daten der Pivottabelle in Zieltabelle kopieren, Formate und Werte
pvTable.TableRange2.Copy
wksZiel.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
wksZiel.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
'Spaltenbreiten auf optimale Breite setzen
With wksZiel
.Range(.Columns(1), .Columns(pvTable.TableRange2.Columns.Count)).AutoFit
End With
'Originaldatei wieder schliessen
wbQuelle.Close savechanges:=False
End Sub