2011-09-14 13 views
3

2011年10月14日の最終更新 - 私は今、より多くの情報を知っていますので、私はここですべてを要約し、すべての以前の説明/質問を削除します。Excel 2007 VBA - ピボットテーブルのフィールドリスト???エラーを作成します

問題は、特定のプログラムを実行した後、私はいくつかの奇妙なエラーが発生します。 「分割」をクリックしたときと似ていますが、正確には同じではありません。違いは、実線の灰色のバーが表示されないことです。それは変です。最近では、おそらくそれが関係するピボットテーブルのフィールドリストによって引き起こされたと考え始めました。

問題が

コード1

Dim pvtCache As PivotCache 
For Each pvtCache In ThisWorkbook.PivotCaches 
    pvtCache.Refresh 
Next pvtCache 

コード2

ThisWorkbook.RefreshAll 

コード3

Dim ws As Worksheet 
Dim pt As PivotTable 
For Each ws In ThisWorkbook.Worksheets 
    For Each pt In ws.PivotTables 
     pt.RefreshTable 
    Next pt 
Next ws 

でもないとコードの三次個のいずれかで発生しますこれは、どこにo NLY違いは、私がコード3

コードSO 4

Dim ws As Worksheet 
Dim pt As PivotTable 
For Each ws In ThisWorkbook.Worksheets 
    ws.Activate 
    For Each pt In ws.PivotTables 
     pt.RefreshTable 
    Next pt 
Next ws 

にws.Activateを追加で、私の質問は、いずれもこれを説明することができますか?コード1を修正することはできますか?このエラーがなくても動作させるには、大きなデータソースの2つのピボットキャッシュがあるスプレッドシートではるかに高速ですが、ピボットテーブルは46個です。

ありがとうございました!

+0

を私たちは、コードを見ることなく推測することはできません、あなたはそれを投稿することはできません...まあ、とにかく、あなたはまだあなたのコードにいくつかのブレークポイントを設定することができます(そして、 'screenupdating'がfalseに設定されているとコメントします)、どこに(あなたのコードのいくつかの行にブレークポイントを設定している間に)分割が表示されます。それはおそらくあなたが "間違った"行に焦点を当てるのに役立ちます – JMax

+0

あなたのコードを投稿したくない理由がわからない場合:あなたの会社はあなたの秘密のバグをコピーすることを心配していますか?私たちはすべてここに "仕事"コードを投稿します... –

+0

"手動で"すべてのピボットテーブルを更新できますか?私の感情はあなたができないことです。 – adamleerich

答えて

0

複数のピボットから複数のピボットがあり、3つのコードスニペットがすべて正常に動作します。問題を引き起こす何か他のものがあるはずです。コードではありません。

0

コードスニペットが正しく実行されます。

コードの実行後に画面表示が更新されないことがあります。このラウンドをあなたのコードの追加

試してみてください。

Application.ScreenUpdating = False 
    ''//Your code here 
DoEvents 
Application.ScreenUpdating = True 
関連する問題