Mostrar Detalhes da Tabela Dinâmica Sempre na Mesma Planilha

Objetivo: Demonstrar a criação de uma tabela dinâmica que abre os detalhes da tabela dinâmica sempre na mesma tabela e também a criação de um hiperlink automaticamente para voltar a planilha da tabela dinâmica.

A tabela dinâmica é uma das melhores ferramentas do Excel, porém ela possui algumas limitações como por exemplo a que demonstro como burlar neste artigo.

Uma das principais funcionalidades de uma tabela dinâmica é realizar o Drill Drown dos dados, exportando estas informações para uma nova planilha, o problema é exatamente este, sempre é uma nova planilha, e logo você tem que ficar excluindo sempre estes dados.

No código comentado abaixo e na planilha em anexo, nós temos um exemplo de como, ao realizar o Drill Drown, abrir estes dados sempre em uma mesma planilha e criar também um hiperlink automaticamente para voltar a planilha inicial.

A planilha se torna bastante prática, dado que você não perderá mais o tempo de excluir a planilha criada, e também não precisará mais ficar procurando a planilha aonde você estava antes.

Abaixo o código comentado, ele deve ser colocado na planilha aonde está a tabela dinâmica:

Sub lsExpandirDados()
    On Error GoTo Sair
    
    Dim lPlanCriada As String
    Dim lPlanilhaOriginal As String

    'Captura o nome da planilha aonde está a tabela dinâmica
    lPlanilhaOriginal = ActiveSheet.Name & "!" & ActiveCell.Address

    'Desabilita mostrar alertas de mostrar mensagens de erro
    Application.DisplayAlerts = False

    'Limpa a planilha dados
    Sheets("Dados").Range("A:XFD").Clear

    'Abre os detalhes do registro da tabela dinâmica
    Selection.ShowDetail = True

    'Guarda o nome da planilha criada
    lPlanCriada = ActiveSheet.Name
    
    'Copia os dados abertos
    Selection.Copy
    
    'Cola as informações na tabela dados
    Sheets("Dados").Select
    Sheets("Dados").Cells(1, 1).Activate
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        
    'Exclui a planilha criada
    Worksheets(lPlanCriada).Delete
        
    'Organiza as colunas
    Selection.EntireColumn.AutoFit
    Worksheets("Dados").Range("B2").Select
    ActiveWindow.FreezePanes = True
    
    
    Worksheets("Dados").Range("A1").Select
    Selection.End(xlToRight).Select
    
    Worksheets("Dados").Cells(1, ActiveCell.Column + 2).Select

    ActiveCell.Value = "Voltar"
    
    'Cria o hiperlink
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        lPlanilhaOriginal, TextToDisplay:="Voltar"
        
Sair:

End Sub

'Evento que é chamado antes do duplo clique da planilha
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'Sub que realiza a abertura dos dados
    lsExpandirDados
End Sub
Baixe a planilha

Abraço

Marcos Rieper


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel