excel - 根据具有不同数据源的不同工作表上的另一个数据透视表过滤器过滤数据透视表
问题描述
我在使用不同数据源的不同 Excel 工作表上有 2 个不同的数据透视表。它们都有一个可以过滤的“样式”列。当我在一个数据透视表上过滤样式时,我希望另一个数据透视表自动(或使用按钮)过滤那些相同的选定样式。
我目前正在处理我在另一个论坛上找到的代码。在 VBA 的对象部分中,我有:
Sub ChangePivotFilter()
Dim WS As Excel.Worksheet
Dim aWB As Excel.Workbook
Dim myPivot As Excel.PivotTable
Dim myPivotField As Excel.PivotField
Set aWB = ActiveWorkbook
For Each WS In aWB.Worksheets
For Each myPivot In WS.PivotTables
Set myPivotField = Nothing
On Error Resume Next
Set myPivotField = myPivot.PivotFields(“Style”)
myPivotField.CurrentPage = “Style”
Next myPivot
Next WS
End Sub
在 VBA 的模块部分中,我有:
Sub Button1_Click()
Dim s$
Application.EnableEvents = False
If Target.Name = "PivotTable1" Then
With ThisWorkbook.PivotTables
Let s = .Item("PivotTable1").PivotFields("Style").CurrentPage
.Item("PivotTable2").PivotFields("Style").ClearAllFilters
.Item("PivotTable2").PivotFields("Style").CurrentPage = s
End With
Else
With ThisWorkbook.PivotTables
Let s = .Item("PivotTable2").PivotFields("Style").CurrentPage
.Item("PivotTable1").PivotFields("Style").ClearAllFilters
.Item("PivotTable1").PivotFields("Style").CurrentPage = s
End With
End If
Application.EnableEvents = True
End Sub
解决方案
推荐阅读
- excel - Excel公式将一个表中的单元格与另一表中的单元格匹配并返回总和值
- javascript - 如果 Web 应用的 CacheStorage 缓存内容过多,应用会崩溃吗?
- elasticsearch - 别名上的 ElasticSearch 在 5 天后无法正常工作
- python-3.x - 如何使用python list将5个连续的1减少为一个
- powerbi - 如何获取 Power BI Desktop 度量中空白的默认字符串值
- javascript - 光照贴图只适用于静态场景吗?
- ios - 如何在闭包中使用 self 来防止内存泄漏
- python-3.x - 我试图将自定义函数拟合到一些 1-D 直方图数据,但我得到 - TypeError:只有 size-1 数组可以转换为 Python 标量
- ruby - 参数数量错误(给定 1,预期 2)(ArgumentError)
- node.js - Node JS Octokit 认证和存储 Github Token