Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("J2")) Is Nothing Then Exit Sub
'Set the Variables to be used
Dim pt As PivotTable
Dim Field As PivotField
Dim NewPolicy As Double
'Here you amend to suit your data
Set pt = Worksheets("Payment Data").PivotTables("PivotTable1")
Set Field = pt.PivotFields("POL_NUMBER")
NewPolicy = Worksheets("Payment Data").Range("J2").Value
'This updates and refreshes the PIVOT table
With pt
Field.ClearAllFilters
Field.CurrentPage = NewPolicy
pt.RefreshTable
End With
End Sub
Извиняется за любой неправильный синтаксис, так как я начинаю с этого. В приведенном выше коде я пытаюсь получить таблицу Pivot, чтобы получить значение из ячейки на той же странице, а затем мгновенно обновить ее, без необходимости взаимодействовать со ссылочной ячейкой. Я получил этот код с веб-сайта, и я его адаптировал, но мне не удается обновить сводную таблицу. Перед изменением этого кода в вышеуказанном состоянии, мой код выглядит следующим образом:Создание сводной таблицы, которая получает данные из ячейки и соответственно фильтрует
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("J2")) Is Nothing Then Exit Sub
'Set the Variables to be used
Dim pt As PivotTable
Dim Field As PivotField
Dim NewPolicy As Double
'Here you amend to suit your data
Set pt = Worksheets("Payment Data").PivotTables("PivotTable1")
Set Field = pt.PivotFields("POL_NUMBER")
NewPolicy = Worksheets("Payment Data").Range("J2").Value
'This updates and refreshes the PIVOT table
With pt
Field.ClearAllFilters
Field.CurrentPage = NewPolicy
pt.RefreshTable
End With
End Sub
В своем старом состоянии, код работал, но я должен был нажать на J2 и нажмите в другом месте на листе (J2 получает свое значение из ячейка на другом листе, который является основным листом ввода данных). Я не хочу, чтобы нажимать на J2, чтобы обновить сводную таблицу. Я хочу, чтобы он обновлялся, как только J2 меняет свое значение на основе другого значения ячейки на другом листе (J2 и другая ячейка в соединении).
Спасибо заранее, LHS
Так что же происходит с этим кодом? – Rory
Код на самом верху - это код, который я использую. Что делает код, так это то, что он получает значение из ячейки на листе (сама ячейка получает свое значение из другой ячейки на другом листе. Я хочу, чтобы код обнаруживал изменение значения ячейки, а затем отфильтровывал Но теперь ничего не происходит. Код просто мертв – LHS
Как вы меняете J2? – Rory