使用单元格值更新数据透视表行标签

时间:2019-10-21 19:53:28

标签: excel vba

我想使用单元格“ A1”值自动过滤/更新数据透视表行标签。
我尝试缝合发现的随机代码:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim pt As PivotTable
Dim Field As PivotField
Dim A1Value As String

If Not Intersect(Target, Range("A1")) Is Nothing Then

Set pt = Worksheets("Sheet2").PivotTables("PivotTable1")
Set Field = pt.PivotFields("Test")
A1Value = Worksheets("Sheet1").Range("A1").Value

pt.ManualUpdate = True 

With Field
    .ClearAllFilters
    .PivotFilters.Add Type:=xlValueEquals, Value1:="A1Value"
End With

pt.RefreshTable
pt.ManualUpdate = False

End If
End Sub

我收到错误

  

“无效过程”

.PivotFilters.Add...

我尝试在“ A1Value”上添加引号,但出现相同的错误。

我也尝试过.PivotItems("A1Value").Visible

我正在尝试使用单元格“ A1”中的值过滤“测试”字段。

我在工作表1中有代码,数据透视表在工作表2中。

1 个答案:

答案 0 :(得分:1)

我更改了这一行代码

.PivotFilters.Add Type:=xlValueEquals, Value1:="A1Value"

收件人

.PivotFilters.Add Type:=xlCaptionEquals, Value1:=A1Value

也不需要在A1Value周围引用