我正在编写一个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函数?