как отфильтровать сводную таблицу на основе определенного значения ячейки - PullRequest
0 голосов
/ 25 января 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...