Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何获取透视项索引,知道其名称_Excel_Vba_Pivot Table - Fatal编程技术网

Excel 如何获取透视项索引,知道其名称

Excel 如何获取透视项索引,知道其名称,excel,vba,pivot-table,Excel,Vba,Pivot Table,如何在VBA数据透视项索引中获取数据透视项的名称 我想得到与此相反的结果: ActiveSheet.PivotTables(1).PivotFields("MyFiledName").PivotItems(10).Name 知道项目名称是“某物”,我想获得索引: .PivotItem(THISNUMBER).Name 更新。 按照马可·盖罗斯特的回答,我最终犯了错误。可以使用复制。我一直收到“错误2042”。我没有得到错误的唯一情况是,当我选择页面过滤器上的项目作为唯一项目时(未启用多选)-

如何在VBA数据透视项索引中获取数据透视项的名称

我想得到与此相反的结果:

ActiveSheet.PivotTables(1).PivotFields("MyFiledName").PivotItems(10).Name
知道项目名称是“某物”,我想获得索引:

.PivotItem(THISNUMBER).Name
更新。 按照马可·盖罗斯特的回答,我最终犯了错误。可以使用复制。我一直收到“错误2042”。我没有得到错误的唯一情况是,当我选择页面过滤器上的项目作为唯一项目时(未启用多选)-在这种情况下,我总是得到位置编号1

在示例文件中,我想获得Name=“6”项的位置号,它显然是7。

尝试以下操作:

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
编辑:在检查了官方(这确实很有帮助)后,答案是肯定的,下面是如何:

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

有没有可能在没有循环的情况下得到它?请检查我的编辑。。。在我写那篇文章之前,我没有检查文档。我总是得到1。无论我选择哪一项,你所说的选择是什么意思?您需要将“Something”更改为您需要的任何内容,然后它将为您提供该透视项的索引