ブック内の各ワークシートをループして、すべてのピボットデータ範囲を範囲(「D1_Data」)にリセットする前にリフレッシュします。 現在、以下のコードでランタイムエラー '1004'が表示され、多少なりとも問題はありませんか?VBAブック内の各ピボットについてデータソース範囲
「TemplateWB」は、コードが現在で動作しているブックとしてどこ私のコードでは他に事前に設定されていることに注意してください。
'Set Dim
Dim PT As PivotTable
Dim WS As Worksheet
'Set D1_Data
TemplateWB.Sheets("Data_1").Range(Cells(1, 1), Cells(NewLastRow, NewLastColumn + 4)).Name = "D1_Data"
For Each WS In TemplateWB.Worksheets
For Each PT In WS.PivotTables
With PT.PivotCache
.SourceData = Range("D1_Data").Address(True, True, xlR1C1, True)
.Refresh
End With
Next PT
Next WS
すべてのピボットテーブルに同じデータソースがありますか? 'TemplateWB.Sheets(" Data_1 ")'で? –
@ShaiRadoはい、同じソースを指している2つのタブに4つのピボットテーブルがあります。 – Karm
Strange。それは動作するはずです。 1つのピボットテーブルのみ、または異なるデータソースを持つ複数のピボットテーブルで、またはデータソースが変更されない場合にのみ機能します。しかし、すべてのピボットが同じソースデータを持つとすぐに、クラッシュします。 – grominet