오후에 학교 활동을위한 DB를 구축 중입니다. 사용자가 클래스 유형 및/또는 연령 그룹 및/또는 학년을 필터링 할 수있는 피벗 테이블을 제어하는 양식을 통해 검색 옵션을 만들려고합니다.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
누구나 문제는 무엇이며 어떻게 수정해야합니까?
안녕하세요 더그 작품! 감사! – user1123417
다행입니다. 답변 옆에있는 체크 표시를 클릭하여 도움을 받으십시오. –