Создание сводной таблицы в новой книге из данных другой книги - PullRequest
0 голосов
/ 06 июня 2018

Я хочу создать сводную таблицу в новой рабочей книге из данных, выбранных в другой рабочей книге.

Я пробовал код из этого ответа , но я получаю ошибку ссылки "1004"в последней строке кода.

Sub test()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim pRange As Range
    Dim pc As PivotCache
    Dim pt As PivotTable
    Dim InitialPivotCache As PivotCache
    Dim CopyPivotCache As PivotCache


    Set wb = Workbooks.Add
    Set ws = wb.Worksheets(1)

    Set pRange = ThisWorkbook.Sheets(1).Range("A1:B6")

    Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, pRange) 'Cache in ThisWorkbook

    Call CountCaches

    Set CopyPivotCache = wb.PivotCaches.Create(pc.SourceType, pc.SourceData)
    Set pt = ws.PivotTables.Add(CopyPivotCache, Range("A3"), "MyPivotTable") 

End Sub

Я подсчитал количество кешей с этим кодом в моей тетради после того, как я установил кэш "pc", я нашел 0 кешей.

Sub CountCaches()
  MsgBox "There are " _
      & ThisWorkbook.PivotCaches.Count _
      & " pivot caches in the active workook."
End Sub

Я не знаю, что не так в моем коде.Как я могу это исправить?

1 Ответ

0 голосов
/ 06 июня 2018
Sub CreatePT()

Set wb = Workbooks.Add 'Create new workbook
Set ws = wb.Worksheets(1)
pRange = "[" & ThisWorkbook.Name & "]" & Sheet15.Name & "!" & ThisWorkbook.Sheets(15).Range("A1").CurrentRegion.Address(ReferenceStyle:=xlR1C1)
ActiveWorkbook.PivotCaches.Create(xlDatabase, SourceData:=pRange). _
    CreatePivotTable TableDestination:="[" & wb.Name & "]" & ws.Name & "!R1C1", TableName:="PivotTable4"

End Sub
...