【发布时间】:2016-09-19 07:34:30
【问题描述】:
我正在尝试根据两个单元格值刷新我的 powerpivot 数据透视表。最终用户将使用单元格 C17 和 C18 中的下拉列表来导出单元格 G17 和 G18 中的值(通过一些 excel 计算)。数据透视表将根据单元格 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
【问题讨论】:
-
您是否收到错误消息?还是什么都没有更新?
标签: vba excel macros powerpivot