我正在使用此当前代码根据同一工作表中的单元格值(E1)更新数据透视表过滤器。我想要做的是根据名为summary的工作表中的单元格更新过滤器。如果我将当前字段中的字段设置为等于摘要中的单元格,我需要按f2然后输入它将不起作用。我肯定会稍微调整一下,我的代码可以适用它。
任何提示?
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Range("E1")
If Target Is Nothing Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
Sheets("Tech Pivot Table").PivotTables("PivotTable2").PivotCache.Refresh
With Me.PivotTables("PivotTable2")
.PivotCache.Refresh
.PivotFields("Name").CurrentPage = Target.Value
End With
Application.EnableEvents = True
End Sub
答案 0 :(得分:0)
我认为问题是当你应该检查Target =“E1”时,你正在预先更改Target变量的值。请尝试下面的代码,让我知道它是否有效。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("E1") Then
If Target Is Nothing Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
Sheets("Tech Pivot Table").PivotTables("PivotTable2").PivotCache.Refresh
With Me.PivotTables("PivotTable2")
.PivotCache.Refresh
.PivotFields("Name").CurrentPage = Target.Value
End With
Application.EnableEvents = True
End If
End Sub