VBA Pivot表一单元参考不同表

时间:2016-07-07 20:20:30

标签: vba excel-vba excel

我正在使用此当前代码根据同一工作表中的单元格值(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

1 个答案:

答案 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