私はプログラムをいくつかのピボットテーブルを作成するようにしようとしています(私は今週/毎月行う必要があるので、同じタイプのデータです)。VBAピボットテーブルエラーを作成する1004
は、いくつかのウェブサイトに基づいて、私はいくつかのコードをコピーして、次のためにいくつかのコードを編集した:
Private Sub CommandButton1_Click()
'Declaration
'Creates new worksheet
Dim sht As Worksheet
Dim pvtCache As PivotCache
Dim pvt As PivotTable
Dim StartPvt As String
Dim SrcData As String
Dim DataRange As Range
'Create a new worksheet
Set sht = Sheets.Add
sht.Name = "EUPS Report"
'Determine the data range you want to pivot
Set DataRange = Application.InputBox("Please Select the Data (Please select by pressing any cell in the table then pressing ctrl+a)", Default:=Selection.Address, Type:=8)
SrcData = sht.Name & "!" & DataRange.Address(ReferenceStyle:=xlR1C1)
'Where do you want Pivot Table to start?
' StartPvt = "'" & sht.Name & "!" & sht.Range("A15").Address(ReferenceStyle:=xlR1C1) & "'"
'Create Pivot Cache from Source Data
Set pvtCache = ActiveWorkbook.PivotCaches.Create(_
SourceType:=xlDatabase, _
SourceData:=SrcData)
'Create Pivot table from Pivot Cache
Set pvt = pvtCache.CreatePivotTable(_
TableDestination:=Worksheets("EUPS Report").Range("A15"))
' TableName:="PivotTable1")
End Sub
しかし、私はこのエラーに実行しているよ:
実行時エラー「1004」:
ピボットテーブルのフィールド名が無効です。ピボットテーブルレポートを作成するには、ラベル付き列のリストとして構成されたデータを使用する必要があります。ピボットテーブルフィールドの名前を変更する場合は、フィールドの新しい名前を入力する必要があります。
私のデータは会社情報なので表示できませんが、列ヘッダーはありますが行ヘッダーはない通常のデータテーブルです。私はこのコードを他のデータでテストしましたが、どちらも動作しません。手動で作成したピボットテーブルを使用してデータをテストしたところ、問題は解決しました。
間違っていることを教えてください。ありがとう!
@teylyn 理由は、毎週/毎月の新しいデータセットがあるからです。ただし、柔軟性のためにピボットテーブルを使用したいと考えています。 (私はピボットテーブルをよく知っているわけではありませんが、理解している限り、週単位でデータを置き換えるだけでは、データテーブルが異なるサイズになる可能性はありません) ありがとうございました。 – DWReyes