提问人:Cinn C 提问时间:11/5/2023 最后编辑:braXCinn C 更新时间:11/6/2023 访问量:56
用于插入数据透视表的宏
Macro to insert Pivot Table
问:
我正在尝试使用宏来创建数据透视表。我已经使用了记录宏并按照步骤操作,但是我遇到了错误,并且不太精通VBA。它一直挂在以下最后一行......不知道为什么...谁能帮忙?
Sheets.Add.Name = "Inventory Summary"
Worksheets("Inventory Summary").Move _
after:=Worksheets("Info")
Sheets("Inventory").Select
Application.CutCopyMode = False
Application.CutCopyMode = False
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Table2", Version:=8).CreatePivotTable TableDestination:= _
"Inventory Summary!R2C1", TableName:="PivotTable1", DefaultVersion:=8
我已经在宏中记录了这一步,它工作正常。我将其添加到一个更大的宏(多个“步骤”)中。当我运行完整的宏时,我收到一个错误进行调试,它把我带到了上面提到的点。但我看不出有什么问题......
答:
1赞
Tim Williams
11/6/2023
#1
拆分创建数据透视缓存和数据透视表的两个命令(并使用一些变量)通常更简洁:
Sub Tester()
Dim wb As Workbook, ws As Worksheet, pc As PivotCache, pt As PivotTable
Set wb = ThisWorkbook 'or eg ActiveWorkbook
Set ws = wb.Worksheets.Add(after:=wb.Worksheets("Info"))
ws.Name = "Inventory Summary"
Set pc = wb.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:="Table2", Version:=8)
Set pt = pc.CreatePivotTable(TableDestination:=ws.Range("A2"), _
TableName:="PivotTable1", DefaultVersion:=8)
End Sub
如果这仍然不起作用,那么您需要确切地告诉我们您遇到的错误。
评论
0赞
Cinn C
11/7/2023
这解决了---有没有办法更改数据透视表选项>显示>经典数据透视表网格......并防止字段“植物”的小计
0赞
Tim Williams
11/8/2023
您可以在对数据透视表进行更改时录制宏 - 它将为您提供所需的行,您可以将这些行添加到您的代码中。stackoverflow.com/questions/24170895/......涵盖小计。
0赞
Cinn C
11/8/2023
我确实试过了......但它并没有像预期的那样改变 - 实际上看起来是一样的 谢谢 - 我会继续寻找......
评论