如何根据特定的单元格值过滤数据透视表

时间:2019-01-25 01:56:18

标签: excel vba

我正在编写一个excel-vba来基于单元格中的特定单元格值(它是来自另一张纸的Vlookup值)来过滤数据透视表。我该怎么做呢?我有根据参考单元格更改值的行。问题是查找值更改时发生的更改。枢轴不再起作用。

下面是我从此链接https://www.extendoffice.com/documents/excel/5325-excel-pivot-table-filter-based-on-cell-value.html中获得的代码

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("A2")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Locations")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

该值是目标范围“ A2”是一个vlookup值,它取决于所查找的值。

如果我一次键入vlookup函数,则数据透视表会发生更改,现在的问题是,一旦声明了vlookup,就无需在单元格中重新键入它,因为它会根据查找值而动态变化以及索引结果行。

是否有一种方法可以在自动更新的行中声明vlookup函数?

0 个答案:

没有答案