Excel VBAを使用してファイルを分割したり、ピボットテーブルを更新したりする際に、「ピボットテーブルが元のファイルを参照して更新されない」といった問題が発生することがあります。この問題の原因と、解決方法をステップバイステップで解説します。
1. ピボットテーブルの更新が反映されない原因
ピボットテーブルの更新が反映されない主な原因として、次の点が考えられます。まず、ピボットテーブルが元のファイルを参照している可能性があります。また、ピボットテーブルの設定が新しいデータソースに対応していない場合や、VBAコード内で正しく参照が設定されていない場合もあります。
2. VBAコードでの修正方法
コード内でピボットテーブルを更新する処理を適切に行う必要があります。ピボットテーブルを新しいデータソースに基づいて更新するためには、次の手順を踏みます。まず、コード内で「pvt.RefreshTable」を実行している箇所を確認し、必要な変更を加えてください。
Dim pvt As PivotTable
For Each pvtSheet In newWB.Worksheets
For Each pvt In pvtSheet.PivotTables
pvt.ChangePivotCache ActiveWorkbook.PivotTableWizard.Cache
pvt.RefreshTable
Next pvt
Next pvtSheet
上記のコードでは、ピボットテーブルを新しいデータソースに基づいて更新する処理を追加しています。
3. ピボットテーブルのデータソース設定を確認
ピボットテーブルのデータソースが正しく設定されているか確認します。VBAコード内で「pvt.ChangePivotCache」を使用して、新しいデータソースを指定することができます。これにより、ピボットテーブルが新しいデータを反映するようになります。
4. ピボットテーブルが正しく更新されない場合の追加の確認点
それでもピボットテーブルが更新されない場合、次の点を確認してください。
- ピボットテーブルのキャッシュが古いデータを参照していないか確認
- 新しいデータソースが正しく設定されているか確認
- VBAコード内でデータ範囲を適切に指定しているか確認
5. まとめ
ピボットテーブルが更新されない問題は、主にデータソースや参照設定に起因することが多いです。VBAコード内で適切に「ChangePivotCache」や「RefreshTable」を設定し、新しいデータソースを参照するように修正することで、問題を解決できます。また、設定や参照の確認も大切です。


コメント