Excel VBA:在新图纸上创建数据透视表
我试图在与数据源不同的工作表上创建数据透视表。我遇到的问题是,当我得到运行时错误“1004”时,在数据透视缓存的单独页面上创建数据透视表,而我可以将数据透视表粘贴到同一个工作表上,这没有问题。我当前拥有的代码如下所示:Excel VBA:在新图纸上创建数据透视表,excel,vba,Excel,Vba,我试图在与数据源不同的工作表上创建数据透视表。我遇到的问题是,当我得到运行时错误“1004”时,在数据透视缓存的单独页面上创建数据透视表,而我可以将数据透视表粘贴到同一个工作表上,这没有问题。我当前拥有的代码如下所示: Sub PivotTable() ThisWorkbook.Worksheets("FG REPORT").Activate Dim ws As Worksheet Dim pc As PivotCache Dim pt As PivotTable Dim pf As
Sub PivotTable()
ThisWorkbook.Worksheets("FG REPORT").Activate
Dim ws As Worksheet
Dim pc As PivotCache
Dim pt As PivotTable
Dim pf As PivotField
Dim pf2 As PivotField
Dim pf3 As PivotField
Set pc = ThisWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=Sheet4.Name & "!" & Sheet4.Range("A1").CurrentRegion.Address, _
Version:=xlPivotTableVersion15)
Set ws = ThisWorkbook.Sheets("Pivot")
ws.Activate
Cells.Select
Cells.Clear
Range("A1").Select
Set pt = pc.CreatePivotTable( _
TableDestination:=ActiveCell, _
TableName:="AgedPivot")
'Set Pivot Field variables
Set pf = pt.PivotFields("Description")
Set pf2 = pt.PivotFields("Age Range")
Set pf3 = pt.PivotFields("OH Qtys")
pf.Orientation = xlRowField
pf2.Orientation = xlPageField
pf3.Orientation = xlDataField
End Sub
尝试在图纸名称前后串联一个引号,因为该名称包含空格:
SourceData:="'" & Sheet4.Name & "'!" & Sheet4.Range("A1").CurrentRegion.Address
这成功了!谢谢你的帮助,我今天花了大约两个小时在这个问题上,完全被难倒了。