Обновить метку строки сводной таблицы со значением ячейки - PullRequest
1 голос
/ 21 октября 2019

Я хочу отфильтровать / обновить метку строки сводной таблицы со значением ячейки "A1" автоматически.
Я попытался сшить случайные коды, которые я нашел:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim pt As PivotTable
Dim Field As PivotField
Dim A1Value As String

If Not Intersect(Target, Range("A1")) Is Nothing Then

Set pt = Worksheets("Sheet2").PivotTables("PivotTable1")
Set Field = pt.PivotFields("Test")
A1Value = Worksheets("Sheet1").Range("A1").Value

pt.ManualUpdate = True 

With Field
    .ClearAllFilters
    .PivotFilters.Add Type:=xlValueEquals, Value1:="A1Value"
End With

pt.RefreshTable
pt.ManualUpdate = False

End If
End Sub

Я получаю ошибку

"Недопустимая процедура"

при .PivotFilters.Add....

Я пытался добавить кавычки в "A1Value", но получаю ту же ошибку.

Я также пытался .PivotItems("A1Value").Visible.

Я пытаюсь отфильтровать поле "Тест" со значением в ячейке "A1".

У меня есть код вЛист 1, а сводная таблица находится на Листе 2.

1 Ответ

1 голос
/ 22 октября 2019

Я изменил эту строку кода

.PivotFilters.Add Type:=xlValueEquals, Value1:="A1Value"

На

.PivotFilters.Add Type:=xlCaptionEquals, Value1:=A1Value

Также не нужно цитата вокруг A1Value

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