excel - 使用 VBA 对数据透视表进行多个过滤器
问题描述
我有 VBA 代码通过所选单元格中的值过滤多个数据透视表 - 过滤所选变量。
我将如何更改它以便过滤在不同单元格中定义的另一个变量?
因此,在下面的示例中,两个数据透视表都在单元格 C2:C3 上过滤了“Unique_ID”变量。我还想根据单元格 D2:D3 在两个表中过滤变量“复杂性”。
Private Sub Worksheet_Change(ByVal Target As Range)
'test
Dim xPTable As PivotTable
Dim xPFile As PivotField
Dim xStr As String
Dim x2PTable As PivotTable
Dim x2PFile As PivotField
Dim x2Str As String
On Error Resume Next
If Intersect(Target, Range("c2:c3")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
'tbl-1
Set xPTable = Worksheets("UI").PivotTables("Days")
Set xPFile = xPTable.PivotFields("Unique_ID")
xStr = Target.Text
xPFile.ClearAllFilters
xPFile.CurrentPage = xStr
If xPFile.CurrentPage = "(All)" Then xPFile.CurrentPage = "No Data Found"
'tbl-2
Set x2PTable = Worksheets("UI").PivotTables("Resource#")
Set x2PFile = x2PTable.PivotFields("Unique_ID")
x2Str = Target.Text
x2PFile.ClearAllFilters
x2PFile.CurrentPage = x2Str
If x2PFile.CurrentPage = "(All)" Then x2PFile.CurrentPage = "No Data Found"
Application.ScreenUpdating = True
End Sub
我在 VBA 方面不是很有经验,只是发现这段代码可以满足我的一半意图!
提前致谢。
解决方案
推荐阅读
- laravel - 提交时出错,提示“找不到对象!”
- selenium - selenium webdriver_有没有其他方法可以在不使用“findElements()”方法的情况下找出网页中存在的 webelements 的数量?
- javascript - JS:单击数组中的对象 --> 显示更多信息
- java - 长时间运行的春季计划任务
- java - 从一个列表填充多个列表
- aws-lambda - 在 aws lambda 中使用 LWA 链接我的技能时,如何从我的数据库中获取设备列表?
- docker - 从什么时候将用户添加到 docker 组不足以执行 docker 客户端并且我每次都需要`newgrp docker`?
- c# - 如何验证 ODataQueryOptions
- c# - 如何在soap web services c#中请求并获取响应
- asp.net - 默认网站 IIS asp.net 下的多个应用程序