gpt4 book ai didi

excel - VBA - 测试一个值是否是 PivotField 的有效选择

转载 作者:行者123 更新时间:2023-12-04 19:53:28 27 4
gpt4 key购买 nike

对于 Sheet1 上的数据透视表 (pt1),我使用 VBA 通过以下代码更改筛选字段 (filterfield) 的值。假设字段的值可以是 A、B 或 C

Sheets("Sheet1").PivotTables("pt1").PivotFields("filterfield").CurrentPage = "A"

偶尔,为了这个问题的目的,让我们说 randomonly,A、B 或 C 将不是 filterfield 的有效选择。当 VBA 尝试更改字段时,它会引发运行时错误。我想避免这种情况。

在运行上面的代码之前,如何检查我的值是否对 filterfield 有效?我想避免使用 On Error 并且 VBA 没有 try/catch 功能..

最佳答案

您可以遍历 PivotItems 并根据您的测试检查 Name

Sub CheckIfPivotFieldContainsItem()

Dim pt As PivotTable
Set pt = Sheet1.PivotTables(1)

Dim test_val As Variant
test_val = "59"

Dim pivot_item As PivotItem
For Each pivot_item In pt.PivotFields("C").PivotItems
If pivot_item.Name = test_val Then
Debug.Print "MATCHES"
End If
Next pi

End Sub

相关数据显示匹配应该存在并且确实返回MATCHES

pivot data

关于excel - VBA - 测试一个值是否是 PivotField 的有效选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com