システムwiki

重複するピボットテーブルを見つける

todd_j 受付中 最終更新日:2021-05-14 07:25

私は多くのタブとさらに多くのピボットtableを持つ大きなファイルを持っています.ファイルは私のニーズに合っていますが、私はいくつかの重複するピボットtableがあるように見える問題を開発しました.ポップアップを取得している」「ピボットtableレポートは重複できません」
もう一つのピボットtableレポート.「私は各シートを検索しました.これは起こっている、隠された列、
隠されたシートなどとこれらの問題を理解してください.複数のピボットtableを持つシートを見つけるのに迅速な方法があるかどうか疑問に思います.多分シートごとにピボットのリストを生成するマクロ?あまりにもタフに見えないが、私はVBプログラミングで少し錆びています、
だから私はここで最初に尋ねると思った.

返信リスト(回答:10)

4 #
TomK747 2
私の場合、同じシートにある2つのピボットtableは、同じワークブック内の2つの別々のワークシートのデータ列を参照していました.2つの列のデータは異なりますが、列には同じラベルが付けられています.2つのデータ列のそれぞれ
には一意のラベルが必要でしたが、ラベルを修正すると(各列のラベルが一意になるように)、ピボットtableの重複エラーがなくなりました.ピボットtableは、2つのソースワークシートのそれぞれで正しいデータを指していましたが、データが
列に同じラベルが付けられている場合、Excelはピボットtableの1つを更新しますが、他のピボットtableを更新しようとするとオーバーラップエラーを返します.
応答4# ->にスキップ
3 #
Dan00 2

発生する可能性のあるシナリオは次のとおりです.

複数のピボットtableがあり、それらを同じシートに配置します.

各従業員に1つずつ、合計4つの列見出しがあります

誰かが5人目、6人目、7人目の従業員をデータセットに入力します

ピボットtableを更新すると、列としてカウントされていた7番目の従業員が、ワークシートに配置した次のピボットtableと重なるようになりました.

この問題に遭遇し、次のコードが時々機能することを発見しました:

Sub PivotCheck()
'
' PivotCheck Macro
'このマクロを実行すると、ブック内のすべてのピボットtableが更新されます.エラーがある場合は、windows がポップアップ表示され、エラーの原因となっているピボットtableとワークシートが示されます.Excelがこれを自動的に行わない理由は謎です.Partyon.
'
Dim pt As PivotTable
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
For Each pt In wks.PivotTables
On Error Resume Next
pt.PivotCache.Refresh
If Err<>0 Then MsgBox "pivot table" ""&pt.Name& "" ""&vbCr&_
"refresh error on"&vbCr& "worksheet" " "&wks.Name&" "" "
Next pt
Next wks
Set pt=Nothing
Set wks=Nothing
'
End Sub

問題は、このコードが特定の種類のエラーに対してのみ機能することです(ピボットtableが、ピボットtableの横に手動で入力したヘルパー列または見出しを上書きする場合など).ピボットtableが別のピボットtableと重なる場合は機能しません
ピボットtable.誰かがこのコードを持っているなら、私はそれを見たいです.

5 #
Jahbree 1

エラーの原因は何ですか "ピボットtableレポートは別のピボットtableレポートと重ならない"? "?あなたはそれが隠しシート/列などで関係があることに言及していますが、ピボットtableのデータを更新することで何をしなければならないことはわかりません.あなたは詳しく述べることができますか?

10 #
Lars- 127

このマクロを試して、複数のピボットtableを持つ各ワークシートのピボットtableのリストを取得してください:

Sub list_all_pivottables_on_worksheets_with_more_than_one_pivotable()
For Each ws In Worksheets
If ws.PivotTables.Count>1 Then
For Each pt In ws.PivotTables
Debug.Print ws.Name& ":" &pt.Name
Next pt
End If
Next ws
End Sub

応答10# ->にスキップ
2 #
captain

私は同じ問題を抱えており、Excelに新しいものです.私はあなたが指定したマクロを使ったことがありますが、私がそれを実行するとき何も起こらない....私はいくつかあなたがいない?

応答2# ->にスキップ
1 #
Lars- 2
セットアップに「イミディエイトwindows 」が表示されていない可能性があります.ピボットtableのリストが表示されるこのwindows を表示するには、メニューで[表示]/[即時windows ]を選択します(または単にCTRL + Gを押します).
これが役立つことを願っています/Lars-Åke
応答10# ->にスキップ
7 #
Jahbree

私は多くのワークシートに1トンのピボットtableを持っています.このマクロで私は彼らの名前を見ますが、そこから何をすべきかわからない.tableを遠く離れて動かしますか?それらのいくつかを取り除きますか?私はOPのような誤りの原因を理解していないと思います.

応答10# ->にスキップ
9 #
todd

ありがとうございます!必要なのはそれだけでした.決闘ピボットのあるシートを見つけて、競合を解決しました.

応答9# ->にスキップ
8 #
RPopeCP
私も同じ問題を抱えていました.同じデータ範囲を使用するピボットtableがいくつかありました.これらのピボットtableのほとんどは、別々のタブにあります.ただし、1つのタブには3つのピボットtableが積み重ねられていたため、更新を実行するとエラーが発生しました.
応答8# ->にスキップ
6 #
DH2012 3

複数のピボットtableを持つ大規模なデータベースがあります.すべてをエラーなしで更新できます.今日、エラーが発生したときに、新しいシートと1つの新しいピボットtableを追加しようとしました.これは1つのピボットを持つ新しいシートであったため、重複するピボットtableはありませんでした
最初から作成されたtable.

ソースデータを他の既存のピボットtableと同じにすると、問題はありませんでした.エラーは発生しません.

これは、元のピボットtableを作成してから、ソースデータに新しいフィールド/列を追加したためだと思います.これらの新しい列を新しいピボットtableに含めたのは、エラーが発生したときです.古いフィールドのいずれかを使用した場合、問題はありません.