1
resposta

[Dúvida] Alterei o macro para o seguinte código

Bom dia!

Seguindo corretamente a aula, porém eu apliquei o seguinte código abaixo como forma de resolver o problema, queria saber se ele está correto:

Sub Atualiza_Dinamica_Categorias() Sheets("DN_Desafio Vendas_Hist").PivotTables("Tabela dinâmica6").PivotCache.Refresh End Sub

1 resposta

André, boa noite.

SIm, aparentemente esse código funcionaria perfeitamente.

Também seria interessante incluir uma verificação de erros para garantir que, caso as planilhas mencionadas não existam, o código não apresente falhas.

Versão com Verificação de Erros

Sub Atualiza_Dinamica_Categorias()
    Dim ws As Worksheet
    Dim pt As PivotTable
    
    ' Verifica se a planilha existe
    On Error Resume Next
    Set ws = Sheets("DN_Desafio Vendas_Hist")
    On Error GoTo 0
    
    If Not ws Is Nothing Then
        ' Verifica se a tabela dinâmica existe
        On Error Resume Next
        Set pt = ws.PivotTables("Tabela dinâmica6")
        On Error GoTo 0
        
        If Not pt Is Nothing Then
            ' Atualiza a tabela dinâmica
            pt.PivotCache.Refresh
            MsgBox "Tabela dinâmica atualizada com sucesso."
        Else
            MsgBox "A tabela dinâmica 'Tabela dinâmica6' não foi encontrada na planilha 'DN_Desafio Vendas_Hist'."
        End If
    Else
        MsgBox "A planilha 'DN_Desafio Vendas_Hist' não foi encontrada."
    End If
End Sub

Explicação do Código:

  • Verificação da Planilha: O código verifica se a planilha "DN_Desafio Vendas_Hist" existe.
  • Verificação da Tabela Dinâmica: O código verifica se a tabela dinâmica "Tabela dinâmica6" existe na planilha especificada.
  • Atualização da Tabela Dinâmica: Se ambas as verificações passarem, a tabela dinâmica é atualizada.
  • Mensagens de Erro: Mensagens informativas são exibidas caso a planilha ou a tabela dinâmica não sejam encontradas.

Esse código garante que a operação seja mais segura e forneça feedback ao usuário sobre o sucesso ou falha da atualização.


Espero ter ajudado!

Estamos aqui, como comunidade, para apoiar você em sua jornada de aprendizado. Se precisar de ajuda ou orientação, não hesite em nos procurar!

Continue assim, determinado e motivado! O seu potencial é imensurável, e estou ansioso para ver seu progresso contínuo.

At.te,

Danilo Andrade - Linkedin (aguardo seu convite de conexão :D )