使用VBA创建数据透视表

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

我写了这个VBA代码来创建数据透视表(实际上是从宏转换过来的。)>

Dim wsTarget As Worksheet
Dim rngSource As Range
Dim pc As PivotCache
Dim pt As PivotTable
Dim field As PivotField

Application.ScreenUpdating = False

Set rngSource = Summary.Range("A1").CurrentRegion
Set wsTarget = PivotTable

wsTarget.Select
For Each pt In wsTarget.PivotTables
    pt.Delete
Next pt

Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, rngSource, xlPivotTableVersion15)
Set pt = pc.CreatePivotTable(wsTarget.Range("A3"), "PivotTable1", , xlPivotTableVersion15)

Set field = wsTarget.PivotTables("PivotTable1").PivotFields("A")
field.Orientation = xlColumnField
field.Position = 1
field.LayoutBlankLine = True

Set field = wsTarget.PivotTables("PivotTable1").PivotFields("B")
field.Orientation = xlRowField
field.Position = 1

Set field = wsTarget.PivotTables("PivotTable1").PivotFields("TOTAL")
Set field = wsTarget.PivotTables("PivotTable1").AddDataField(field, "Sum of TOTAL", xlSum)
field.NumberFormat = "_ $ * #,##0.00_ "

Application.ScreenUpdating = True

代码在Set pc行崩溃。

我尝试使用谷歌搜索,所有结果都与我的代码相同。

我正在使用Excel 2013。

我写了这个VBA代码来创建数据透视表(实际上是从宏转换过来的)。 Dim wsTarget作为工作表Dim rngSource作为范围Dim pc作为PivotCache Dim pt作为PivotTable Dim字段作为...

excel vba
3个回答
0
投票

尝试这个。.我认为您是直接引用工作表名称。.


0
投票

尝试一下:


0
投票

晚了,但是您有标题行吗?

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