2015-11-10 68 views
1

如何獲得VBA樞軸項目索引知道樞軸項目的名稱?如何獲得樞軸項目索引,知道它的名字

我想獲得這個反向:

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

瞭解,該項目名稱爲「東西」,我想獲得指數:

.PivotItem(THISNUMBER).Name 

更新。 在Marco Getrost的回答下,我最終出錯了。它可以使用example file進行復制。我不斷收到「錯誤2042」。唯一沒有出錯的情況是,當我選擇PageFilter上的項目作爲唯一項目時(沒有啓用多重選擇) - 在這種情況下,我始終得到位置編號1.

在示例文件中,我想用名字來取得項目的位置數=「6」,這顯然是7

回答

2

試試這個:

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 
+0

有沒有可能沒有循環? –

+0

檢查我的編輯...在我編寫之前,我沒有檢查文檔。 –

+0

我總是得到1.不管我選擇哪個項目。 –