Como mantenho a formatação em um gráfico dinâmico do Excel 2010?

0

Eu tenho um código VBA que executa uma Consulta SQL, despeja-a em uma planilha do Excel 2010 e atualiza as 2 Tabelas Dinâmicas baseadas nos dados. Também tenho 2 Gráficos Dinâmicos baseados nas Tabelas Dinâmicas e, sempre que as Tabelas são atualizadas, a formatação nos Gráficos é perdida.

Eu segui as instruções em Seção 12.3 deste livro que sugeriu a criação de um tipo de gráfico personalizado com base nas minhas preferências de formatação e a aplicação aos gráficos que desejo que permaneçam formatados dessa maneira. Essas instruções funcionam muito bem se eu modifico manualmente os dados e, em seguida, atualizo manualmente a Tabela Dinâmica - os Gráficos permanecem formatados adequadamente. No entanto, quando eu executo este código:

For Each pt In NewSheet.PivotTables
  pt.RefreshTable
Next

a formatação é imediatamente perdida.

Veja como são os dados antes:

emeusgráficosdepizzacuidadosamenteelaborados:

Assimqueatualizarosdadoseatualizarastabelas:

Issoéoqueeurecebo:

Novamente, ter o estilo de gráfico personalizado aplicado manterá a formatação se feito manualmente, mas a execução do código do VBA de alguma forma redefine o tipo de gráfico personalizado.

    
por FreeMan 29.09.2015 / 20:59

1 resposta

1

Para conseguir isso sem o uso de gráficos dinâmicos, tudo o que você precisa é um intervalo de nome dinâmico e um gráfico simples (se for formatado de forma grosseira).

1) Crie um Nome definido usando esta fórmula: Series_A=OFFSET(Sheet!B1,0,0,COUNT(A:A),1) , onde   - Folha1! B1 refere-se à sua primeira célula de contagem em sua tabela dinâmica (ou qualquer outra referência, se você estiver confortável com o OFFSET)   - Contar (A: A) é a sua coluna com marcadores de linha

2) Crie seu (s) gráfico (s) com a série = Series_A (e qualquer outro que você precise).

À medida que você atualiza suas tabelas dinâmicas, os nomes definidos farão referência aos valores de expansão / contratação em sua coluna de rótulos de linha e retornarão apenas os valores em sua coluna de contagem. Não são necessárias colunas 0, # N / D ou auxiliares.

    
por 30.09.2015 / 18:15