#excel #vba #pivot-table
Вопрос:
Я пытаюсь отфильтровать свою сводную таблицу на основе значения ячейки; всякий раз, когда ячейка изменяется, сводная таблица будет обновляться соответствующим образом, ниже приведен код, введенный на листе, на котором есть сводная таблица, проблема в том, что макрос успешно обновляет фильтр, когда я изменяю значение ячейки, но он продолжает зацикливаться до сбоя excel
Private Sub Worksheet_Change(ByVal Target As Range)
Dim PT As PivotTable
Dim PF As PivotField
If Intersect(Target, Range("C1")) Is Nothing Then Exit Sub
Set PT = Worksheets("Sheet8").PivotTables("Test1")
Set PF = PT.PivotFields("disbursal date")
Filter_cell = Range("C1").Value
PF.CurrentPage.Name = Filter_cell
End Sub
Комментарии:
1. Скорее всего, это связано с действием в вашем коде, вызывающим другое
Worksheet_Change
событие, и снова, и снова, и снова.. ВставьтеApplication.EnableEvents = False
в начале кода иApplication.EnableEvents = True
в конце, чтобы он выполнялся только один раз.2. @Raymond wu спасибо тебе!! сейчас это работает идеально.