我正在尝试根据两个单元格值刷新powerpivot数据透视表。最终用户将使用单元格C17和C18中的下拉列表来导出单元格G17和G18中的值(通过一些Excel计算)。数据透视表将根据Cell G17和G18进行刷新。
我编写了如下脚本代码,但是当我从C17和C18的下拉列表中选择一个值后,它似乎没有工作,因为数据透视表没有刷新。
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("G17:G19")) Is Nothing Then Exit Sub
Dim pt As PivotTable
Dim FieldHr As PivotField
Dim FieldEndingMin As PivotField
Dim NewHr As String
Dim NewMin As String
Set pt = Worksheets("Calculator").PivotTables("Table1")
Set FieldHr = pt.PivotFields("Hr")
NewHr = Worksheets("Calculator").Range("G17").Value
Set FieldEndingMin = pt.PivotFields("Ending Min")
NewMin = Worksheets("Calculator").Range("G18").Value
With pt
FieldHr.ClearAllFilters
FieldHr.CurrentPage = NewHr
FieldEndingMin.ClearAllFilters
FieldEndingMin.CurrentPage = NewMin
pt.RefreshTable
End With
End Sub
答案 0 :(得分:0)
我将代码从fill!(x,zeros(y))
移至Worksheet_SelectionChange
事件。
我添加了Worksheet_Change
范围,细胞C17:C18和细胞G17:G19(需要G19吗?在你的帖子中提到G17:G18)。
Union