excel - VBA:在新工作表上创建数据透视表

标签 excel vba

我正在尝试在数据源的单独工作表上创建数据透视表。我遇到的问题是在与 PivotCache 不同的页面上创建数据透视表,因为我收到运行时错误“1004”,而我可以将数据透视表粘贴到同一张纸上没问题。我目前拥有的代码如下所示:

    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

关于excel - VBA:在新工作表上创建数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58067912/

相关文章:

c# - 如何在不将 Excel 文件存储在任何地方的情况下读取 Excel 文件并将其数据填充到 MVC 的网格中?

excel - 为什么使用变量进行计算会得到与使用单元格引用进行计算不同的结果?

arrays - 构建和比较数组

java.lang.ClassNotFoundException : org. apache.commons.io.output.UnsynchronizedByteArrayOutputStream 上使用 HSSFWorkbook

sql - VBA 检查来自 2 个字段的不同值是否匹配

java - 如何读取以JSP形式选择并提交的Excel文件?

VBA UDF 使用动态数组查找多列条件匹配

excel - 回合和工作表功能.回合

debugging - 使用 VBA 将文本文件复制到 Excel 时出现问题

database - 可移动表单上的 MS Access/在它自己的窗口中有一个表单不受应用程序的限制