【问题标题】:How to get pivot item index, knowing its name如何获得枢轴项目索引,知道它的名字
【发布时间】:2015-11-10 14:08:57
【问题描述】:

如何在 VBA 中获取枢轴项索引知道枢轴项的名称?

我想得到相反的结果:

ActiveSheet.PivotTables(1).PivotFields("MyFiledName").PivotItems(10).Name

知道item名称是“Something”,我想获取索引:

.PivotItem(THISNUMBER).Name

更新。 按照 Marco Getrost 的回答,我最终遇到了错误。可以使用example file 复制它。我不断收到“错误 2042”。我没有收到错误的唯一情况是当我选择 PageFilter 上的项目作为唯一项目(未启用多选) - 在这种情况下,我总是得到位置编号 1。

在示例文件中,我想获取 Name="6" 的项目的位置编号,这显然是 7。

【问题讨论】:

    标签: excel vba pivot-table


    【解决方案1】:

    试试这个:

    Sub test()
    
    Dim pvItem As PivotItem
    Dim c as Long
    
    For Each pvItem in ActiveSheet.PivotTables(1).PivotFields("MyFiledName").PivotItems
    
    c = c+1
    If pvItem.Name = "Something" Then Exit For
    
    Next pvItem
    
    'THISNUMBER = c
    
    End Sub
    

    编辑:在查看了官方documentation(这真的很有帮助)后,答案是肯定的,这就是:

    THISNUMBER = ActiveSheet.PivotTables(1).PivotFields("MyFiledName").PivotItems("Something").Position
    

    【讨论】:

    • 是否可以不循环获取?
    • 检查我的编辑...在我写之前我没有检查文档。
    • 我总是得到 1。无论我选择哪个项目。
    • 选择是什么意思?您需要将“Something”更改为您需要的任何内容,然后它应该为您提供该枢轴项目的索引。
    • 今天我不断收到“错误 2042”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 2016-11-07
    • 2022-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多