excel - 连接到 Power Pivot 的 Excel 切片器 - 选择多个切片器项目
问题描述
我正在尝试制作一个报告表格,询问您希望报告显示的月份和年份。但是,有一个特定的数据透视表使用四年范围来显示趋势数据。
但是,我的工作簿上的所有数据透视表都通过 Power Pivot/Data Model 连接。在这里使用这个源,我能够轻松地仅为单个项目更改切片器。
一个有效的例子:
ActiveWorkbook.SlicerCaches("Slicer_Month2").VisibleSlicerItemsList = "[Calendar].[Month].&[" & frmGen.cbMonth.Text & "]"
但是,当我使用循环替换切片器中的多个选择时,在完成循环所有选择后遇到错误,错误为“28”:堆栈空间不足。
For i = 0 To 3 Step 1
ActiveWorkbook.SlicerCaches("Slicer_Year").VisibleSlicerItemsList(i + 1) = "[Calendar].[Month].&[" & frmGen.txtYear.Text - 3 + i & "]"
Next
由于切片器上已经选择了四个,它应该能够替换它,当我将代码添加到监视窗口时也显示了这一点。但它总是在循环之后显示该错误,即使我降低了循环计数。
是否有另一种方法可以在通过 Power Pivot 连接的切片器中选择多个项目?
解决方案
感谢 Damian 为我的问题提供了线索,我只需要更新一个链接到切片器的数据透视表,它就可以很好地更新其他数据透视表。
For i = 0 To 3 Step 1
ar(i) = "[Calendar].[Year].&[" & frmGen.txtYear.Text - 3 + i & "]"
Next
ActiveWorkbook.Sheets("pg2").PivotTables("pvtPg2_SPARK").PivotFields("[Calendar].[Year].[Year]").VisibleItemsList = ar
推荐阅读
- go - 嵌入 FS 无法正确解析模板
- vb.net - Linq 最低唯一值或最低行和列值 精确匹配或部分匹配 取较小值
- r - 对嵌套 tibble 进行分组/汇总以附加列列表
- javascript - 删除 Fauna DB 中的子对象
- javascript - 使用 jest 测试用于创建 DOM 元素的 js 函数时,元素内容未填充,而在 jest 之外它可以正常工作
- outlook - 用户单击“签名”时 Outlook 崩溃
- python - 为什么我的号码中的数字分开打印而不是一起打印?
- google-cloud-platform - 如何知道 GCE 实例在控制台中使用的存储类型
- reactjs - 如何在 React 中指定多个宽度
- python - 使用“烧瓶运行”获取 ImportError