我正在爲下午的學校活動構建數據庫。我試圖通過一個表單來創建一個搜索選項,該表單控制一個數據透視表,用戶可以在該數據表類中和/或年齡組和學年過濾。在Excel中自動過濾數據透視表
我在VBA中編寫了這段代碼,它不工作。當我試圖編寫一個代碼來過濾上面的其中一個(如類類型)它的工作,但是當我將其擴展到3個過濾器選項時,它不起作用。當其中一個選項中沒有插入值時,它會失敗。
search_class.Hide
ActiveSheet.PivotTables("PivotSearchClass").PivotFields("class type").ClearAllFilters
If IsNull(Range("type_search").Value) Then
ActiveSheet.PivotTables("PivotSearchClass").PivotFields("class type").CurrentPage = "(All)"
Else: ActiveSheet.PivotTables("PivotSearchClass").PivotFields("class type").CurrentPage = Range("type_search").Value
End If
type_box = "pick a class type"
ActiveSheet.PivotTables("PivotSearchClass").PivotFields("group age").ClearAllFilters
If IsNull(Range("target_search").Value) Then
ActiveSheet.PivotTables("PivotSearchClass").PivotFields("group age").CurrentPage = "(All)"
Else: ActiveSheet.PivotTables("PivotSearchClass").PivotFields("group age").CurrentPage = Range("target_search").Value
End If
target_box = "pick a group age"
ActiveSheet.PivotTables("PivotSearchClass").PivotFields("school year").ClearAllFilters
If IsNull(Range("year_search").Value) Then
ActiveSheet.PivotTables("PivotSearchClass").PivotFields("school year").CurrentPage = "(All)"
Else:
ActiveSheet.PivotTables("PivotSearchClass").PivotFields("school year").CurrentPage = Range("year_search").Value
End If
year_search_box = "pick a school year"
ActiveSheet.PivotTables("PivotSearchClass").PivotCache.Refresh
有沒有人知道ehat的問題是,以及如何解決它?
嗨道格它的作品!謝謝! – user1123417
很高興聽到它。您應該通過點擊答案旁邊的複選標記來接受它以及您已獲得的其他有用答案。 –