我已經通過宏創建了一個數據透視表,並希望使用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你有沒有在我的答案下面試過我的代碼?任何反饋 ? –