Excel 2010 피벗 차트에서 서식을 유지하려면 어떻게 해야 합니까?

Excel 2010 피벗 차트에서 서식을 유지하려면 어떻게 해야 합니까?

SQL 쿼리를 실행하고 이를 Excel 2010 스프레드시트에 덤프한 다음 데이터를 기반으로 2개의 피벗 테이블을 새로 고치는 VBA 코드가 있습니다. 또한 피벗 테이블을 기반으로 한 2개의 피벗 차트가 있는데 테이블이 업데이트될 때마다 차트의 서식이 손실됩니다.

나는 다음의 지시를 따랐다.이 책의 섹션 12.3내 서식 기본 설정을 기반으로 사용자 정의 차트 유형을 만들고 해당 방식으로 서식을 유지하려는 차트에 이를 적용하는 것이 좋습니다. 이 지침은 훌륭하게 작동합니다만약에데이터를 수동으로 수정한 다음 피벗 테이블을 수동으로 새로 고칩니다. 차트는 올바른 형식으로 유지됩니다. 그러나 이 코드를 실행하면 다음과 같습니다.

For Each pt In NewSheet.PivotTables
  pt.RefreshTable
Next

서식이 즉시 손실됩니다.

이전의 데이터는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

그리고 내가 신중하게 만든 원형 차트는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

데이터를 업데이트하고 테이블을 새로 고치자마자:

여기에 이미지 설명을 입력하세요

이것이 내가 얻는 것입니다:

여기에 이미지 설명을 입력하세요

다시 말하지만, 사용자 정의 차트 스타일을 적용하면 수동으로 수행한 경우 서식이 유지되지만 VBA 코드를 실행하면 사용자 정의 차트 유형이 재설정됩니다.

답변1

피벗 차트를 사용하지 않고 이 작업을 수행하려면 동적 명명된 범위와 간단한(대략 형식이 지정된 경우) 차트만 있으면 됩니다.

1) 다음 수식을 사용하여 정의된 이름을 만듭니다. Series_A=OFFSET(Sheet!B1,0,0,COUNT(A:A),1)여기서 - Sheet1!B1은 피벗 테이블의 첫 번째 카운트 셀(또는 OFFSET이 편한 경우 다른 참조)을 나타냅니다. - Count(A:A)는 행이 있는 열입니다. 라벨

2) series=Series_A(및 기타 필요한 항목)를 사용하여 차트를 만듭니다.

피벗 테이블을 업데이트하면 정의된 이름은 행 레이블 열의 확장/축소 값을 참조하고 개수 열의 값만 반환합니다. 0, #N/A 또는 도우미 열이 필요하지 않습니다.

관련 정보