excel - 应用于多个表格的多个单元格范围的 VBA 透视过滤器
问题描述
虽然这个话题被广泛讨论,但我一直无法找到一个合适的解决方案来解决这个问题。
作为数据分析师,我想根据多个单元格范围中的值在多个数据透视表中应用过滤器。
我一直在寻找答案并尝试应用这些解决方案:
https://www.mrexcel.com/forum/excel-questions/950078-filtering-pivot-table-based-cell-value.html
和这个:
https://www.youtube.com/watch?v=xCJgCRuVU6c&t=201s
特别是这段代码:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'This line stops the worksheet updating on every change, it only updates when cell
'A1 to A9 is touched
If Intersect(Target, Worksheets(1).Range("A1:A9")) Is Nothing Then Exit Sub
'Set the Variables to be used
Dim pt As PivotTable
Dim Field As PivotField
Dim NewCat As String
'Here you amend to suit your data
Set pt = Worksheets(1).PivotTables("PivotTable1")
Set Field = pt.PivotFields("Sales Region")
NewCat = Worksheets(1).Range("A1:A9").Value
'This updates and refreshes the PIVOT table
With pt
Field.ClearAllFilters
Field.CurrentPage = NewCat
pt.RefreshTable
End With
End Sub
但是,它们不会 100% 应用,因为首先它根本不会更新任何东西(没有响应),其次它只会将过滤器应用于第一列,即使它会起作用。
上述内容当然不完全正确,因为过滤选项会删除表中的许多值。
数据透视表的 ID 为“PivotTable1”和“PivotTable2”。工作表称为“Sheet1”。
我希望能够更改这些值以及过滤器选项(例如,包括一个日期值过滤器。
如果有任何不清楚的地方,请告诉我。
此外,如果有任何其他不包括 VBA 的选项,这些也将受到好评。
解决方案
推荐阅读
- java-8 - 如何迭代嵌套映射数组,然后通过使用 stream().map() 收集特定字段的值来聚合它;
- unit-testing - 没有为带有笑话的模拟类定义构造函数
- amazon-web-services - 将 Informatica Data Catalog 中的元数据使用到 AWS S3 或数据库中
- java - 我在将数据从父活动传递到 BottomViewNavigation 上的子片段时遇到问题
- android - 三星 Android 10 BLE MTU>23 问题
- variables - 我想使用带变量的 sed 命令,同时在运行时给出变量的值
- go - 在 golang 中设计警报服务,当数据库数据满足某些条件时会发出警报
- architecture - 架构:CQS、业务逻辑
- c# - 将资源文件中的标题传递给剔除数据绑定属性
- python - python中的“域\用户”在字符串中不正确的反斜杠处理