sábado, 8 de setembro de 2012

Macro para Formatar Tabelas Dinâmicas


Bom dia, pessoal!
Segue uma macro bastante simples, para padronizar o modo de exibição de uma tabela dinâmica em uma planilha. Criei esta macro para poder voltar ao formato padrão que prefiro depois de criar ou modificar uma tabela. O texto está comentado, e alguns parâmetros podem ser alterados (exibir ou não o total por colunas e formatar o relatório no estilo de tabela):
Sub Formata_Dinamicas()
'
' Personaliza formatação das tabelas dinâmicas
'

Dim N_Pivot As Integer
Dim N_Pivot_Fields As Integer

N_Pivot = 1

    While N_Pivot <= ActiveSheet.PivotTables.Count 'Passa por todas as tabelas dinâmicas da planilha

        ActiveSheet.PivotTables(N_Pivot).RowAxisLayout xlTabularRow 'Relatório em formato de tabela
        ActiveSheet.PivotTables(N_Pivot).RowGrand = False 'Elimina totais por linha
        ActiveSheet.PivotTables(N_Pivot).ColumnGrand = True 'Mantém totais por coluna

        For N_Pivot_Fields = 1 To ActiveSheet.PivotTables(1).PivotFields.Count 'Elimina subtotais
            If ActiveSheet.PivotTables(N_Pivot).PivotFields(N_Pivot_Fields).Orientation = xlRowField Then

                On Error Resume Next 'Ignora erro ao passar pelo campo de somatória
                ActiveSheet.PivotTables(N_Pivot).PivotFields(N_Pivot_Fields).Subtotals = _
                    Array(False, False, False, False, False, False, False, False, False, False, False, False)

            End If

        Next

        N_Pivot = N_Pivot + 1

    Wend

End Sub


Até a próxima!

Nenhum comentário:

Postar um comentário