gpt4 book ai didi

excel - 格式化数据透视表时出现运行时错误 1004

转载 作者:行者123 更新时间:2023-12-02 06:01:58 25 4
gpt4 key购买 nike

我有一个 Excel 数据透视表,我只想在其中执行两件事:(1) 应用经典数据透视表 布局,(2) 不显示小计。为了帮助我编写代码,我录制了一个宏。运行宏时,我收到“运行时错误‘1004’:无法获取 Worksheet 类的 PivotTable 属性。”

数据透视表是手动创建的。然后我切换到 Pivot 并尝试运行代码。

With ActiveSheet.PivotTables("PivotTable1")
.InGridDropZones = True
.RowAxisLayout xlTabularRow
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"A" _
).Subtotals = Array(False, False, False, False, False, False, False, False, False, False _
, False, False)
ActiveSheet.PivotTables("PivotTable1").PivotFields("B").Subtotals _
= Array(False, False, False, False, False, False, False, False, False, False, False, False _
)

我的期望是代码应用经典的数据透视表布局,然后删除可能存在的任何小计。

最佳答案

您的代码寻址 ActiveSheet(当前可见的),并且仅当名称为“PivotTable1”的数据透视表驻留在其上时才有效:

ActiveSheet.PivotTables("PivotTable1")

为了使其更具体或更笼统,您可以通过其名称或索引来寻址工作表,也可以通过其名称或索引来寻址数据透视表,例如。克。

ActiveSheet.PivotTables(1)
ActiveWorkbook.Sheets(3).PivotTables("PivotTable1")
ActiveWorkbook.Sheets("My Sheet Name").PivotTables(1)
<小时/>

仅当该数据透视字段用作 RowFieldColumnField 时,切换 PivotField 的用户定义小计才有效,因此我建议解决明确地,并像这样循环所有它们:

Private Sub SwitchAllSubtotalsOnOrOff()
Dim pt As PivotTable
Dim pf As PivotField

Set pt = ActiveSheet.PivotTables(1)
With pt
.InGridDropZones = True
.RowAxisLayout xlTabularRow

For Each pf In .RowFields
'pf.Subtotals(1) = True ' automatic on (= all other off)
'pf.Subtotals(1) = False ' automatic also off

' all 11 userdefined on (sum, count, average, max, min, product, count nums, stdev, stdevp, var, varp)
'pf.Subtotals = Array(False, True, True, True, True, True, True, True, True, True, True, True)

' all 12 off (= none)
pf.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
Next pf

For Each pf In .ColumnFields
If Not IsError(pf.GroupLevel) Then
pf.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End If
Next pf

End With
End Sub

关于excel - 格式化数据透视表时出现运行时错误 1004,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57235809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com