有效地我试图创建一些VBA代码,将循环通过一堆工作表与透视表,将某些条件应用到数据透视表(即更改字段取决于一个变量/根据单元格值更改过滤器,正如我试图在下面的代码中演示的那样)。这甚至没有接近运行(我是一个完整的初学者试图更新遗留代码),所以我正在寻找指针,以了解如何使用为我想要的结果定义的变量。VBA代码运行透视表和更改过滤器/标签
我现在的问题是,我似乎无法调用数据透视表开始改变场等
Option Explicit
Dim MySheet As Worksheet
Dim MyPivot As PivotTable
Dim NewCat As String
Sub RefreshPivots()
For Each MySheet In ActiveWorkbook.Worksheets
For Each MyPivot In MySheet.PivotTables
NewCat = Worksheets("WorkingSheet").Range("B44").Value
MyPivot.RefreshTable
With ActiveSheet
.MyPivot.AddDataField
.MyPivot.PivotFields ("GuidelinePercent"), "Count of GuidelinePercent", xlCount
End With
Next MyPivot
Next MySheet
(多很多在循环去,这仅仅是我所遇到的第一个问题)。
我越来越:行
With ActiveSheet.MyPivot.AddDataField
Run-time error '438' Object doesn't support this property or method
任何帮助将是巨大的!
编辑;
当试图
With ActiveSheet
.PivotTables(MyPivot).AddDataField
.PivotTables(MyPivot).PivotFields ("GuidelinePercent"), "Count of GuidelinePercent", xlCount
End With
我得到Run-time error'1004': Unable to get the Pivot Tables property of the Worksheet class
就行了.MyPivot.AddDataField
。
添加您的代码没有指定'pivotfield'。 – kulapo
我认为在这之前我得到一个错误甚至是一个问题......我会添加一行(尝试)添加一个字段。 – alex1stef2
对于编辑,请加引号:'.PivotTables(“MyPivot”)' – Egalth