VBA – (모든)피벗 데이블 새로고침

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 4월 15, 2023

이 튜토리얼에서는 VBA를 사용하여 하나의 피벗 테이블 또는 모든 피벗 테이블을 새로 고치는 방법을 보여드립니다.

피벗 테이블은 Excel의 매우 강력한 데이터 도구입니다. 피벗 테이블을 사용하면 필드와 행을 그룹화하고 요약하여 많은 양의 데이터를 분석하고 해석할 수 있습니다.

피벗 테이블을 만들 때 데이터는 피벗 테이블 캐시에 저장됩니다.

피벗 테이블의 데이터 원본이 업데이트되면 피벗 테이블 자체는 업데이트되지 않습니다. Excel에서 사용자가 피벗 테이블의 소스 데이터를 새로 고치려면 리본의 데이터 탭에서 모두 새로 고침 버튼을 클릭해야 합니다.

또는 VBA에서 매크로를 작성하여 데이터를 업데이트할 수도 있습니다!

모든 데이터 연결 새로 고침

데이터를 새로 고치는 가장 간단한 방법은 VBA를 사용하여 리본에서 모두 새로 고침 버튼이 수행하는 작업을 모방하는 것입니다.

Sub RefreshConnections()
    ActiveWorkbook.RefreshAll
End Sub

이 메서드는 활성 상태인 통합 문서의 모든 데이터에 대한 모든 연결을 새로 고칩니다. 또한 단일 피벗 테이블을 새로 고칠 뿐만 아니라 서로 다른 데이터 집합에 연결된 피벗 테이블이 두 개 이상 있는 경우 여러 피벗 테이블을 새로 고칩니다.

모든 피벗 테이블 새로 고침

통합 문서에서 피벗 테이블만 새로 고치고 데이터가 연결된 다른 피벗 테이블의 새로고침을 제외하려면 RefreshTable이라는 메서드를 사용할 수 있습니다.

통합 문서에 여러 피벗 테이블이 있는 경우 모든 피벗 테이블을 새로 고치려면 피벗 테이블들을 모두 반복해야 합니다. 이를 위해 먼저 피벗 테이블 변수를 선언한 다음 활성 통합 문서에 있는 모든 피벗 테이블을 반복하는 For Each 반복문을 만듭니다.

Sub RefreshPivotsOnly()
  Dim tblPivot As PivotTable
  For Each tblPivot In ActiveWorkbook.PivotTables
     tblPivot.RefreshTable
  Next tblPivot
End Sub

비슷한 코드를 사용하여 전체 통합 문서가 아닌 활성 시트의 피벗 테이블을 새로 고칠 수 있습니다. 그런 다음 활성 통합 문서가 아닌 활성 시트의 피벗 테이블을 반복합니다.

Sub RefreshActiveSheetPivotsOnly()
   Dim tblPivot As PivotTable
   For Each tblPivot In ActiveSheet.PivotTables
      tblPivot.RefreshTable
   Next tblPivot
End Sub

이 매크로는 활성 시트에서 쉽게 액세스할 수 있다면 가장 유용할 것입니다. 이를 위해 시트에 매크로를 실행하는 버튼을 만들 수 있습니다.

하나의 피벗 테이블 새로고침

통합 문서의 다른 모든 피벗 테이블이 아닌 작업 중인 피벗 테이블만 새로 고치려면 특정 피벗 테이블을 식별해야 합니다. 물론 피벗 테이블의 이름(이 경우 PivotTable1)만 알고 있으면 됩니다.

Sub RefreshOneTable
   ActiveSheet.PivotTables("PivotTable1").RefreshTable
End Sub

피벗 테이블 캐시 새로 고침

통합 문서에 여러 피벗 테이블이 있지만 모두 동일한 데이터를 사용하는 경우 각각의 피벗 테이블들을 새로 고치는 대신 피벗 테이블 캐시를 새로 고칠 수 있습니다. 캐시를 새로 고치면 캐시에 포함된 데이터를 사용하는 모든 피벗 테이블이 자동으로 새로 고쳐집니다.

Sub RefreshCache()
   Dim chPivot As PivotCache
   For Each chPivot In ActiveWorkbook.PivotCaches
       chPivot.Refresh
   Next chPivot
End Sub

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기