VBA изменить исходную таблицу сводных таблиц - PullRequest
0 голосов
/ 17 декабря 2018

Я создал программу, которая копирует сводную таблицу из другой рабочей книги, но мне нужно, чтобы она ссылалась на рабочую таблицу в текущем файле.

Так, например, в исходном файле он ссылается на «QueryResults» в качестве источника, и мне нужно, чтобы он ссылался на «QueryResults» в новом файле после его передачи.У кого-нибудь есть идеи как это сделать?

Я безуспешно пытался воссоздать кеш, но получаю сообщение об ошибке при его запуске в моем коде.

        ActiveWorkbook.PivotCaches.Create _
        (SourceType:=xlDatabase, SourceData:=Worksheets("QueryResults").Range("A1:AY" & _
        Worksheets("QueryResults").Cells(Rows.Count, 1).End(xlUp).Row).Address(External:=True), _
        Version:=xlPivotTableVersion14)

1 Ответ

0 голосов
/ 18 декабря 2018

Попробуйте

Sub setPivot()
    Dim pv As PivotTable
    Dim Ws As Worksheet
    Dim wsData As Worksheet
    Dim rngDB As Range, strRng As String
    Dim r As Long

    Set Ws = ActiveSheet
    Set pv = Ws.PivotTables(1)

    Set wsData = Sheets("QueryResults")

    With wsData
        r = .Range("a" & Rows.Count).End(xlUp).Row
        Set rngDB = .Range("A1:AY" & r)
    End with
    strRng = rngDB.Address(, , xlR1C1, 1) 'not xlA1
    With pv
        .SourceData = strRng
        .RefreshTable
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...