2016-07-28 46 views
1

私はあなたの援助を次のエラーで探しています。実行時エラー '1004'ピボットテーブルエラー

ワークブックを開き、ピボットテーブルを含むシートにコピーするVBAコードがあります。

コードは、ピボットテーブルを選択し、日付順にフィルタリングし、いくつかのフィールドをコピーします。

この機能は初回使用時に完全に機能します。しかし、この報告書は、一日に一回以上使用された場合、それは次のエラーを打つ:VBAだけで、システムのデフォルトを使用するよう

enter image description here

問題は、ピボットテーブル名の割り当てです。コードは次のとおりです。

Sheets("Sheet1").Select 

ActiveWorkbook.ShowPivotTableFieldList = False 

ActiveSheet.PivotTables("PivotTable1").PivotFields("Date ").AutoSort _ 
    xlDescending, "Date " 

名前に関係なくピボットテーブルを動的に選択する方法はありますか?

また、レポートが実行されるたびにピボット1になるように、実行終了時に履歴を消去するコードがありますか?

ご協力いただければ幸いです。事前

+0

ピボットが常に1つあれば、おそらく 'ピボットテーブル(1)'でしょうか? –

答えて

2

おかげであなたは(あなたが伝えるためにあなたのポストに意図しているようだと、私はこれをmisinterprettedしているかもしれませんが、)一つだけのピボットテーブルがあるだろう知っている場合、よりもインデックスを使用することをお勧めします新しいピボット・テーブルが作成されていて別のピボット・テーブルが存在していた場合は、名前が異なるため、名前は変更されません。お電話に変更します。これはvariety of reasonsのために悪い習慣と考えられているよう

If Sheets("Sheet1").PivotTables.Count <> 0 Then 
    Sheets("Sheet1").PivotTables(1).PivotFields("Date ").AutoSort xlDescending, "Date " 
End If 

注意を私はまた、「選択」の使用を削除しました。

+1

あなたは私にそれを打つ:D –

+1

@SiddharthRout私の人生の最も誇る日:P – RGA

関連する問題