簡體   English   中英

嘗試使用VBA根據單元格D2和E2中的Year和Period值過濾我的數據透視表

[英]Trying to use VBA to filter my Pivot Table based on Year and Period values in cells D2 and E2

我正在嘗試使用VBA篩選我的數據透視表,因此它將分別基於單元格D2和E2中的“期間”和“年份”進行篩選。 我有以下代碼,可以按年份過濾,並且在列中沒有“財政期間”的情況下工作,但是當我將“財政期間”放入列中時,它將在Field.ClearAllFiltersField.CurrentPage = Year行調試。 有人可以幫我解決這個問題嗎?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Worksheets("CY PT").Range("E2")) Is Nothing Then Exit Sub

Dim PT As PivotTable
Dim Field As PivotField
Dim Year As String

Set PT = Worksheets("CY PT").PivotTables("CY PT")
Set Field = PT.PivotFields("Fiscal Year")
Year = Worksheets("CY PT").Range("E2").Value

With PT
Field.ClearAllFilters
Field.CurrentPage = Year
PT.RefreshTable
End With

End Sub

.CurrentPage方法僅適用於PageFields。 聽起來您正在嘗試過濾RowFields。 因此,您的選擇是:

如果選擇最后一個選項,則需要注意,這可能需要一段時間。 請參閱我在基於變量范圍過濾數據透視表上發布的代碼,以了解如何有效地執行此操作。 還可以在http://dailydoseofexcel.com/archives/2013/11/14/filtering-pivots-based-on-external-ranges/閱讀我的文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM