Boa tarde, @jokerpot
Sabem me dizer o que pode ser??
Quando ocorre o Refresh na Tabela Dinâmica, o Excel dispara novamente o evento Change por isso fica em Loop infinito e não seu código não avança. Para contornar o problema, desative a armadilha de eventos logo antes de atualizar a TD, não esquecendo de reativar antes de encerrar:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo RestauraEventos
If Not Intersect(Target, Range("L4")) Is Nothing Then
Application.EnableEvents = False
PERIODO = Range("S2").Value
Me.PivotTables("Tabela dinâmica1").PivotCache.Refresh
Me.PivotTables("Tabela dinâmica1").PivotFields("Info").ClearAllFilters
Me.PivotTables("Tabela dinâmica1").PivotFields("Info").PivotFilters. _
Add2 Type:=xlTopCount, DataField:=ActiveSheet.PivotTables( _
"Tabela dinâmica1").PivotFields(PERIODO), Value1:=5
End If
RestauraEventos:
Application.EnableEvents = True
If Err.Number <> 0 Then Error (Err.Number)
End Sub
Postado : 29/04/2021 3:49 pm