Notifications
Clear all

Macro rodando sem parar

17 Posts
5 Usuários
0 Reactions
2,762 Visualizações
 esbs
(@esbs)
Posts: 8
Active Member
Topic starter
 

Pessoal ,tudo bem?

Meus conhecimentos em macro realmente não são avançados, mas até consigo fazer algo. Gostaria de entender poque a macro fica rorando sem parar.
A macro roda perfeitamente mas fica calculando e preciso apertar "ESC" para parar. Alguém pode me ajudar nessa?

O código que estou usando é:

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

On Error Resume Next

If ActiveSlicer.Name = "SEGMENTAÇÃODEDADOS_OPÇÃO_8" Then
 Call Macro2
 
Exit Sub
End If
End Sub

_______
Sub Macro2()
Application.ScreenUpdating = False
If Range("O1") = "(Tudo)" Then

    With ActiveSheet.PivotTables("Mantido").PivotFields("opção 6")
        .PivotItems("2015").Visible = True
         .PivotItems("2016").Visible = True
          .PivotItems("2017").Visible = True
                
    End With
    Range("D20").Select
    ActiveSheet.PivotTables("Mantido").PivotFields("Cliente Ajustado").AutoSort _
        xlDescending, "Soma de Soma de VALOR LIQUIDO", ActiveSheet.PivotTables( _
        "Mantido").PivotColumnAxis.PivotLines(3), 1
End If


If Range("O1") = "1° tri" Then

    With ActiveSheet.PivotTables("Mantido").PivotFields("opção 6")
        .PivotItems("2015").Visible = False
         .PivotItems("2016").Visible = True
          .PivotItems("2017").Visible = True
                
    End With
    Range("C20").Select
    ActiveSheet.PivotTables("Mantido").PivotFields("Cliente Ajustado").AutoSort _
        xlDescending, "Soma de Soma de VALOR LIQUIDO", ActiveSheet.PivotTables( _
        "Mantido").PivotColumnAxis.PivotLines(2), 1
End If

If Range("O1") = "2° tri" Then

    With ActiveSheet.PivotTables("Mantido").PivotFields("opção 6")
        .PivotItems("2015").Visible = True
         .PivotItems("2016").Visible = True
                
    End With
    Range("C20").Select
    ActiveSheet.PivotTables("Mantido").PivotFields("Cliente Ajustado").AutoSort _
        xlDescending, "Soma de Soma de VALOR LIQUIDO", ActiveSheet.PivotTables( _
        "Mantido").PivotColumnAxis.PivotLines(2), 1
End If

If Range("O1") = "3° tri" Then

    With ActiveSheet.PivotTables("Mantido").PivotFields("opção 6")
        .PivotItems("2015").Visible = True
         .PivotItems("2016").Visible = True
                
    End With
    Range("C20").Select
    ActiveSheet.PivotTables("Mantido").PivotFields("Cliente Ajustado").AutoSort _
        xlDescending, "Soma de Soma de VALOR LIQUIDO", ActiveSheet.PivotTables( _
        "Mantido").PivotColumnAxis.PivotLines(2), 1
End If
If Range("O1") = "4° tri" Then

    With ActiveSheet.PivotTables("Mantido").PivotFields("opção 6")
        .PivotItems("2015").Visible = True
         .PivotItems("2016").Visible = True
                
    End With
    Range("C20").Select
    ActiveSheet.PivotTables("Mantido").PivotFields("Cliente Ajustado").AutoSort _
        xlDescending, "Soma de Soma de VALOR LIQUIDO", ActiveSheet.PivotTables( _
        "Mantido").PivotColumnAxis.PivotLines(2), 1

End If
Application.ScreenUpdating = True
End Sub
 
Postado : 21/03/2017 1:45 pm
 esbs
(@esbs)
Posts: 8
Active Member
Topic starter
 

Niguém pra dar uma força mesmo com isso?

 
Postado : 22/03/2017 11:05 am
(@teleguiado)
Posts: 142
Estimable Member
 

Acho que você pode simplificar e criar um botão pra rodar a sua macro. Pois do jeito que esta ela entra em loop infinito. ;)

Obrigado.

Teleguiado.
E-mail: [email protected]

 
Postado : 25/03/2017 6:50 pm
Página 2 / 2