Я пишу 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 в строке, чтобы автоматизировать обновление?