보고서 데이터 용 워크 시트와 피벗 테이블 용 워크 시트가 포함 된 Excel 템플릿 (.xlt)이 있습니다.VBA에서 지시 할 때까지 Excel에서 피벗 테이블 새로 고침을 방지합니다.
보고 시스템에서 보고서를 생성하고 템플릿을 적용 할 때 피벗 테이블에서 참조하는 일부 필드가 존재하지 않습니다. 매크로가 실행되어보고 시스템의 프로세스의 일부로 생성되기 때문입니다.
그러나이 필드는 존재하지 않으므로 Excel에서 오류가 발생합니다 (구성 요소 속성/메서드에 액세스하는 동안 오류가 발생했습니다 : REFRESH. 참조가 유효하지 않습니다.). 이를 방지하기 위해 모든 피벗 테이블에 대한 옵션을 Refresh data when opening the file
에 대해 설정을 해제했습니다.
나는 피벗 테이블을 VBA를 사용하여 새로 고칠 수 있다는 것을 알고 있지만 피벗 테이블이 documnet을 열 때 themsleves를 새로 고치지 않고 대신 새 필드를 만든 후 VBA를 통해 새로 고칠 수 없도록하는 방법이 있습니까? 감사.
Function UpdatePivots()
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable1").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable2").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable3").PivotCache.Refresh
ActiveWorkbook.Sheets("DJG Marketing - Client List by ").PivotTables("PivotTable4").PivotCache.Refresh
End Function
'Application.Calculate'는 필요하지 않습니다. 'Application.Calculation = xlCalculationAutomatic'은 설정을 되돌릴뿐만 아니라 호출 될 때 계산합니다. –