2017-07-05 32 views
0

私はプログラムをいくつかのピボットテーブルを作成するようにしようとしています(私は今週/毎月行う必要があるので、同じタイプのデータです)。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」:

ピボットテーブルのフィールド名が無効です。ピボットテーブルレポートを作成するには、ラベル付き列のリストとして構成されたデータを使用する必要があります。ピボットテーブルフィールドの名前を変更する場合は、フィールドの新しい名前を入力する必要があります。

私のデータは会社情報なので表示できませんが、列ヘッダーはありますが行ヘッダーはない通常のデータテーブルです。私はこのコードを他のデータでテストしましたが、どちらも動作しません。手動で作成したピボットテーブルを使用してデータをテストしたところ、問題は解決しました。

間違っていることを教えてください。ありがとう!

+0

@teylyn 理由は、毎週/毎月の新しいデータセットがあるからです。ただし、柔軟性のためにピボットテーブルを使用したいと考えています。 (私はピボットテーブルをよく知っているわけではありませんが、理解している限り、週単位でデータを置き換えるだけでは、データテーブルが異なるサイズになる可能性はありません) ありがとうございました。 – DWReyes

答えて

1

Excelテーブルオブジェクトを使用してデータを格納すると、ピボットテーブルのソースとして名前でテーブルを参照できます。テーブルはデータとともに拡大または縮小し、データが変更されたときにピボットテーブルを更新するだけで済みます。

データを手動でコピーしてテーブルに貼り付けることも、Power Queryを使用してほぼすべてのデータソースからデータを取得することができます。 Power Queryは、Excel 2010および2013用のMicrosoftからの無料のアドインであり、Get & TransformとしてExcel 2016に組み込まれています。

ここで考えているのは、毎週ピボットテーブルを作成するよりも、データをリフレッシュする方が簡単で効率的であるということです。それはピボットテーブルの目的を本当に破ります。難なく終わらせた。

+0

ああ、あなたは参考としてテーブルを使用できますか? Coolio、私はいくつかの簡単な研究を行い、それを試してみます。私が必要としていることを理解してクッキーカッターの答えではなく答えてくれてありがとう。私は一度それを試したことを知らせます。ありがとう – DWReyes

関連する問題