插入数据透视表的宏

问题描述 投票:0回答:1

我正在尝试使用宏来创建数据透视表。我已使用记录宏并按照步骤操作,但出现错误并且不太熟悉 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

我已将这一步记录在宏中,效果很好。我将其添加到更大的宏(多个“步骤”)中。当我运行完整的宏时,我收到一个调试错误,它使我想到了上面提到的问题。但我看不出出了什么问题...

excel vba pivot-table
1个回答
0
投票

将创建数据透视缓存和数据透视表的两个命令分开(并使用一些变量)通常会更清晰:

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

如果仍然不起作用,那么您需要准确地告诉我们您遇到的错误。

© www.soinside.com 2019 - 2024. All rights reserved.