excel - VBA 扩展数据透视表行不起作用。获取错误无法获取 PivotItem 类的 ShowDetail 属性
问题描述
我有一些在其他 excel 电子表格中成功运行的 VBA 代码。它在数据透视表中展开行详细信息。但是,我刚刚尝试在新的电子表格中使用它,但收到以下错误消息:
'无法获取 PivotItem 类的 ShowDetail 属性'
我能想到的唯一区别是,我在插入数据透视表时将数据添加到数据模型中。
失败的代码是:
Sub Expand()
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim iFieldCount As Long
Dim iPosition As Long
Set pt = ActiveSheet.PivotTables("SubjectsAndTags")
iFieldCount = pt.RowFields.Count - 1
For iPosition = 1 To iFieldCount
For Each pf In pt.RowFields
If pf.Position = iPosition Then
For Each pi In pf.PivotItems
If pi.ShowDetail = False Then
pf.ShowDetail = True
Exit Sub
End If
Next pi
End If
Next pf
Next iPosition
End Sub
以防万一它帮助我记录了一个宏来扩展一行,这是它生成的代码:
Sub Macro2()
Range("B4").Select
ActiveSheet.PivotTables("SubjectsAndTags").PivotFields( _
"[Query1].[SubjectName].[SubjectName]").PivotItems( _
"[Query1].[SubjectName].&[Change Request]").DrilledDown = True
End Sub
解决方案
根据文档,您可能会遇到一些限制:
- “指定范围必须是大纲中的单个汇总列或行。”
- “此属性不适用于 OLAP 数据源。”
来源:https ://docs.microsoft.com/en-us/office/vba/api/Excel.PivotItem.ShowDetail
尝试通过设置断点和调试在运行时检查对象。Locals
您可以使用该窗口导航对象。
推荐阅读
- ios - 防止 Xcode 重建更改配置
- python - 在 keras 张量中复制一列
- use-case - 实体与用例说明
- javascript - Jquery UI Datepicker - 依赖日期选择器排除 Maxdate 中的假期
- excel - 设置范围时 VBA 运行时错误 1004
- ansible - Ansible group_vars 引用和加载另一个 var 文件
- java - 在android的适配器中处理数据库中的值
- docker - 无法从谷歌云构建访问 pip 主机
- android - Flutter App 构建发布问题(Firestore)
- sapply - 在 sapply 中访问向量的先前值