我写了这个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字段作为...
尝试这个。.我认为您是直接引用工作表名称。.
尝试一下:
晚了,但是您有标题行吗?