2012-12-19 54 views
1

我有一個數據透視表「日期/時間」數據透視表。我需要一個宏來選擇字段的最後一項。 我試着下面的代碼,但不工作如何使用Excel VBA選擇透視字段中的最後一項?

Sub Test() 

Dim i As Long 

i = ActiveSheet.PivotTables("PivotTable1").PivotFields("Date/Time").PivotItems.Count 
With ActiveSheet 
    .PivotTables("PivotTable1").PivotFields("Date/Time").PivotItems(i).Visible=True 
End With 

End Sub 

請幫助我。我無法找到我的錯誤。

+0

'select'永遠不是一個好的選擇。你可以做的是導航到「日期/時間」字段,然後導航到該字段/列的最後一行。 – bonCodigo

+0

這些索引不是基於0的嗎?你需要'我 - 1'。另外,「不起作用」對你意味着什麼?它是否顯示錯誤信息,它是否沒有做任何事情? – ApplePie

+0

@ AlexandreP.Levasseur我也試過i-1。它只是沒有做任何事情。 –

回答

0

這不是一個優雅的答案。我不能說我完全相信。既然你說你只需要過濾Date/Time,請試試看並發表評論。

Sub somePivot() 
Dim n As Long 

With Worksheets(2) 
    n = .PivotTables("PivotTable3").PivotFields("Date/Time").PivotItems.Count 
    MsgBox n 
    .PivotTables("PivotTable3").PivotFields("Date/Time").AutoSort xlAscending, "Date/Time" 
    MsgBox .PivotTables("PivotTable3").PivotFields("Date/Time").PivotItems(n).Value 
End With 

End Sub 
相關問題