Я создал сводную таблицу через макрос и хочу скопировать сводную таблицу в качестве значений с помощью VBA. Создание сводной таблицы прошло хорошо, но копирование на другой лист дает мне головную боль. Вот код:Копирование значений сводной таблицы в VBA
Sub test()
Dim shtTarget, pvtSht As Worksheet
Dim pc As PivotCache
Dim pt As PivotTable
Dim field As PivotField
Dim rngSource As Range
With ActiveWorkbook
Set rngSource = .Sheets(2).Range("H:I").CurrentRegion
Set shtTarget = .Sheets.Add(After:=.Sheets(.Sheets.count))
shtTarget.Name = "Temp"
Set pc = .PivotCaches.Create(xlDatabase, rngSource, xlPivotTableVersion14)
Set pt = pc.CreatePivotTable(shtTarget.Range("A1"), "PivotTable1", , xlPivotTableVersion14)
End With
With shtTarget.PivotTables("PivotTable1").PivotFields("Concatenate")
.Orientation = xlRowField
.Position = 1
End With
With shtTarget
.PivotTables("PivotTable1").AddDataField .PivotTables(_
"PivotTable1").PivotFields("SCREEN_ENTRY_VALUE"), "Count of SCREEN_ENTRY_VALUE" _
, xlSum
End With
With ActiveWorkbook
Set pvtSht = .Sheets.Add(After:=.Sheets(.Sheets.count))
pvtSht.Name = "Sum of Element Entries"
'==========================I'm stuck on this line=================================
.Sheets(shtTarget).PivotTables("PivotTable1").TableRange1.Copy
pvtSht.Range("A1").PasteSpecial xlPasteValues
End With
End Sub
Ошибка является Type mismatch
ошибка.
'.Sheets (shtTarget) .PivotTables' -.>' ShtTarget.PivotTables' –
@ASH До сих пор не работает :(В любом случае, я сделал просто скопируйте значения диапазона Pivot :) – ramedju
@ramedju вы попробовали мой код в моем ответе ниже? любая обратная связь? –