2013-06-11 3 views
0

피벗 테이블을 설정하고 필드 드롭 다운을 클릭하면 표시되는 값 필터 섹션을 보면 예상 할 수 있습니다. 알파벳 순서대로. 예를 들어 필드가 주 (州) 인 경우 미주리, 오클라호마에 피벗이 표시되며 원하는 항목을 찾기가 어렵습니다. 또는 필터링하려고 할 때 날짜가 완전히 무작위 인 날짜 필드를 상상해보십시오.VBA를 사용하여 Excel에서 피벗 테이블 드롭 다운의 값을 알파벳순으로 지정

나는이 목록을 알파벳순으로 표시하는 방법에 대해 봤지만 이상적이지 않은 해결책을 대부분 발견했습니다. 즉, Excel에 내장 된이 방법을 사용할 수있는 방법이 없을 수도 있습니다. 나는 많은 피벗 테이블을 가지고 있기 때문에 VBA와 관련된 솔루션을 찾고 있는데, 일부는 여러 필드로 해결하고 싶습니다. 유일한 옵션 인 경우 수동으로 수행하는 것은 몇 가지 옵션입니다.

그냥 명확하게, 피벗 테이블 자체를 정렬하는 것에 대해 이야기하는 것이 아닙니다. 나는 그것을하는 방법을 안다. 드롭 다운의 값 필터 부분에서 값을 정렬하는 방법에 대해 설명합니다. 따라서 피벗 테이블을 관심있는 특정 범주로 쉽게 필터링 할 수 있습니다. 나는 그것은 필드는 필터에있을 때, 당신은 그것으로 아무것도 할 수 없음을 밝혀 엑셀 2007

+1

귀하의 요구 사항이 나에게 나타나지 않습니다. 이미지의 경우가있을 수 있습니다. – pnuts

+1

질문에 샘플 스크린 샷을 추가하는 것이 도움이됩니다. 또한, 당신이 시도한 것을 보여주는 몇 가지 코드. 필터링 된 범위 내에서 필터를 적용하기 전에 드롭 다운을 반복하고 VBA를 사용하여 값을 선택하는 방법에 대해 생각해 보았습니까? 필터링 조건은 무엇입니까? –

답변

0

을 사용하고

. 그러나 항목이 행에 있으면 정렬 만 할 수 있습니다. 따라서 한 가지 해결책은 필터에서 행으로 무언가를 이동 한 다음 정렬 한 다음 다시 필터로 옮기는 것입니다. 이것들 중 몇 가지를 할 수 있다면 괜찮습니다. 그러나 피어 테이블 크기가 변경된 후에 덮어 쓸 데이터가있는 다른 셀이 근처에있는 경우 수동으로 수행하는 것은 매우 어렵습니다.

그러나 VBA를 사용하면 피벗 테이블의 필드 섹션에있는 경우에도 필드를 정렬 할 수 있습니다!

For Each ws In ThisWorkbook.Worksheets 
    For Each pt In ws.PivotTables 

     pt.ManualUpdate = True 

     For Each pf In pt.PivotFields 
      pf.AutoSort xlAscending, pf.Name 
     Next pf 

     pt.ManualUpdate = False 

    Next pt 

Next ws 
관련 문제