arrays - 如何动态更改数据透视表上的数据透视项?(VBA)
问题描述
如何制作动态数据透视表字段?
目标是用户可以使用单元格中的数据并最终更改数据字段项,而无需按任何按钮(即,如果A1
说"Hello"
,它将取消选择数据字段中的所有其他项并选择"Hello"
数据字段项)。
从记录我的宏到更改我在数据透视字段中的数据透视项目,我使用以下代码:
Sub Macro2()
ActiveSheet.PivotTables("PivotTable1").PivotFields("[Treaty].[Market Category].[Market Category]").VisibleItemList = Array("[Treaty].[Market Category].&[5Star Term]")
End Sub
我一直在从 MrExcel 尝试这个解决方案并对其进行修改以适合我自己的模型: https ://www.mrexcel.com/forum/excel-questions/543610-how-create-array-vba.html
Sub Test()
Dim MyArray As Variant
MyArray = Application.Transpose(Range("A1").Value)
ActiveSheet.PivotTables("PivotTable1").PivotFields("[Treaty].[MarketCategory].&[Market Category]").VisibleItemsList = MyArray
End Sub
单元格 A1 具有:
[Treaty].[Market Category].&[5Star Term]
它不工作。vba 上的 Locals 部分说MyArray
正在接受它,但它说:
运行时错误“1004”:
无法获取 PivotTable 类的 PivotFields 属性。
这是什么意思??
我怎样才能解决这个问题??
我查看了 StackOverflow 上的其他解决方案,但没有得到我想要的。有没有办法使数组动态化?
谢谢!!
解决方案
推荐阅读
- c++ - 我在使用运算符重载时得到垃圾值
- c# - C# 9.0 源代码生成器 - 忽略具有特定属性的类编译
- oracle - 甲骨文解码和 NVL
- android - 数组适配器```getItem(position)```第一次返回null(但在下次检查时工作正常)
- haskell - `stack test` 不从标准输入读取
- html - 如何调整包含绘图的 div 以绘制尺寸,使其不与文档重叠
- python-3.x - 如何通过忽略tkinter中的主窗口来截取屏幕截图?
- python - 如何将 pandas 地理编码功能应用于 Pyspark 列
- c++ - 断点函数执行 x 次
- autodesk-forge - 点击地理位置 _ Forge 查看器