私は非常に面倒なExcelファイルを数十のピボットテーブルで再編成することを任されています。再編成の一環として、ピボットテーブルを同じシート上と新しいシート上に動かすことで時間の経過とともに成長する余地が生まれます。ただし、getpivotdata()関数を使用したピボット・テーブル参照は、ピボット・テーブルの位置にハードコードされています。名前でピボットテーブルを参照するExcel 2010
私はピボットテーブルの名前を受け入れてその位置を返すカスタム関数を使用してgetpivotdata()関数内で参照なしでピボットテーブルを移動できるようにすることでこの問題を回避しようとしてきました。テーブルを壊す。私は場所の文字列バージョンと場所を指定する範囲オブジェクトを返そうとしましたが、両方の参照エラーを与える。私の最も成功した機能は、これまでのところ、ピボットテーブルオブジェクトを返した、そしてそれは私に参照エラーを与えるものではありませんが、それだけで私はここで、現在のコードです
を試してみてください何に関係なく、データとして0を返しません:
Public Function pivotNameToLoc(PTName As String) As PivotTable
Dim WS As Worksheet, PT As PivotTable
For Each WS In ActiveWorkbook.Worksheets
For Each PT In WS.PivotTables
If PT.Name = PTName Then
pivotNameToLoc = PivotTable
Exit Function
End If
Next PT
Next WS
End Function
は、ここ
はあなたが範囲を返す必要が機能が
=GETPIVOTDATA("Data field",pivotNameToLoc("Name of table"),"other","fields")
ありがとう!範囲オブジェクトを使用する私の以前の試みは、間違ったTableRangeプロパティを使用していたと思います。 – Wright95