使用VBA使单元更新另一个工作表中的数据透视表中的OLAP筛选器

我是VBA的新手,并且无法获得单元格来更改另一个工作表的数据透视表上的筛选器。 应该注意的是,数据透视表附加到OLAP多维数据集。 我得到的最接近的是:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("c2")) Is Nothing Then Exit Sub Dim pt As PivotTable Dim Field As PivotField Dim NewCat As String Set pt = Worksheets("16 Previous Month YTD").PivotTables("PivotTable1") Set Field = pt.PivotFields("[Accounting Periods].[Year].[Year]") NewCat = Worksheets("16 Previous Month YTD").Range("c2").Value ActiveSheet.PivotTables("PivotTable1").PivotFields( _ "[Accounting Periods].[Year].[Year]").VisibleItemsList = Array( _ "[Accounting Periods].[Year].&[2.014E3]") End Sub 

这将运行一个macros,显然将filter更改为2014年,但我希望它根据另一个工作表的值C2更改。