[[20210926012625]] 『ピポットテーブル エラー』(mーちん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ピポットテーブル エラー』(mーちん)

エクセル(2016) ピポットテーブルに関する質問です。
「すべて更新」ボタンを押すと、「レポートで使われているフィールドの名前の中に無効なものがあります。データソース内のフィールド名を変える場合は、フィールドに新しい名前を入力して下さい。」というエラーが出ます。

このエラーの原因と解決方法を教えて頂きたいです。

  ピポットテーブルが1つずつ入ったシートが5つあり、元になるリスト表が入ったシートがプラスで1つあります。 
「更新」ボタンではエラーは出ないのですが、「すべて更新」ボタンを押すとエラーが出ます。 5つのシートを一度に更新させたいので、「すべて更新」ボタンを使いたいです。
個別に「更新」するにはなんの問題もありません。数値も更新されますし、エラーも出ません。
エクセルを再起動させてもダメでした。

  宜しくお願い致します

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 推理というか完全に想像なのですが、
 非表示シートがあって、その中にもう一つ忘れ去られたピボットテーブルがあったりしないでしょうか?
 さらにその忘れられたピボットテーブルのデータソース範囲が、データの無い列も含んでいるとか。

 過去にデータソース範囲の変更があって、
 表示されてるシートのピボットテーブルは手動でデータソース範囲を変更したけど、
 非表示シートのピボットテーブルだけデータソース範囲を変更し忘れている
 とかの経緯があると、そういう状況になってたりするかもしれません
(´・ω・`) 2021/09/26(日) 07:24

なるほどです。
確かに何回か作ったり消したりはしていました。

ピポットテーブルは5つしかないのに、ピポットテーブル名も「ピポットテーブル13」まであります。
それが原因かもしれません。

ピポットテーブルのすべてを編集するツールやファイル内にあるピポットテーブルを全て把握できるようなものってないんですかね?
(mーちん) 2021/09/26(日) 11:10


 マクロなら調べられるかもしれません^^;
PivotTables.Count
というのが、有ったと思います。
やったこと無いので。非表示のシートのテーブルも数えてくれるかは
わかりませんが、非表示なら表示して数えて、非表示に戻して、みたいな事で
可能かと。。。m(_ _)m
(隠居Z) 2021/09/26(日) 11:56

 こんにちわ〜^^他にも方法は有るのかもしれませんが。。。^^;
↑ 非表示でも、数えてくれますし、ペアレントネームで
シート名も取得出来るので、ピボットテーブルのシート別
一覧表みたいなの、簡単に作成出来ると思います。。。←多分( ̄▽ ̄)
でわでわ。m(__)m
(隠居Z) 2021/09/26(日) 12:26

 非表示シートがないか調べる
 すべてのシートで最終セルまで目視で、つかってないピボットテーブルがないか探す
 順序として、まず、これをやってからでしょう
(´・ω・`) 2021/09/26(日) 13:07

目視では見つかりませんでした。

マクロでの探し方をやってみます
(mーちん) 2021/09/26(日) 13:33


すいません、先ほどの「PivotTables.Count」の詳しいコードを教えて頂きたいです。
そのまま貼り付けてもエラーが出てしまいます。

(mーチン) 2021/09/26(日) 15:21


 こんにちわ ^^
きっと、もっとスマートな方法が有るとは思いますが、一案です。。。
こんな感じでも。。。
一番左端に新規シートが追加されます。用事が終われば削除してください
表示属性は
 -1 表示
  0 非表示[再表示可能]
  2 非表示[再表示不可]。。。VBAから変更可能。^^;です。
Sub OneInstanceMain()
    Dim i             As Long
    Dim x             As Long
    Dim n             As Long
    Dim v()           As Variant
    Dim vAr           As Variant
    For Each vAr In Worksheets
        x = vAr.PivotTables.Count
        If x > 0 Then
            For i = 1 To x
                ReDim Preserve v(n)
                v(n) = Array(vAr.PivotTables(i).Name, _
                             vAr.PivotTables(i).Parent.Name, _
                             vAr.Visible)
                n = n + 1
            Next
        End If
    Next
    If n > 0 Then
        Worksheets.Add before:=Worksheets(1)
        With ActiveSheet
            .Cells(1).Resize(, 3) = Array("ピボット名", "シート名", "シート表示属性")
            .Cells(2, 1).Resize(UBound(v) + 1, UBound(v(0)) + 1) = Application.Index(v, 0, 0)
            .UsedRange.Columns.AutoFit
        End With
    Else
        MsgBox "PivotTableは有りませんでした"
    End If
    Erase v
End Sub
(隠居Z) 2021/09/26(日) 16:09

ありがとうございます。

マクロで探してみましたが、隠れているピポットテーブルもないようです。
(mーちん) 2021/09/26(日) 16:19


わたしならですが
新規ブックに作り直したほうが手っ取り早いと考えそう。

(マナ) 2021/09/26(日) 18:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.