Domanda

Non ho più grafici perno ognuno con la propria tabella pivot su fogli di lavoro separati in Excel 2002.

Quando provo a generare questi grafici con VBA con il seguente codice:

Set cht = Charts.Add(After:=Worksheets("Setup"))
With cht
    ' we use named ranges here
    .SetSourceData Source:=range(tblName)
    .Name = chtName

....

dove tblName è un intervallo denominato appena creato poche righe prima, il codice viene eseguito bene se v'è una sola tabella e il grafico generare, ma mi dà un errore di fase di esecuzione 1004: "I dati di origine di un rapporto di grafico pivot non possono essere cambiati. .." se provo a generare tabella pivot e grafico impostare uno dopo l'altro.

Andando a Inserisci -> Nome -.> Definisci, l'elenco dei intervalli denominati creati sembra essere corretto

Qual è il modo corretto di impostare i dati di origine per un grafico pivot con una gamma dinamica?

È stato utile?

Soluzione 2

Questo pezzo di codice presuppone che è solo una tabella pivot per foglio e la tabella pivot inizia il cellulare A1:

Sheets(wsName).Select
Range("A1").Select
Set cht = Charts.Add(after:=Worksheets(Worksheets.Count))
With cht
    .SetSourceData Sheets(wsName).Range("A1")
    .Name = chtName

...

Anche cambiando "Worksheets.Count" ad un nome di foglio di lavoro specifico sembra innescare tale errore pure.

Altri suggerimenti

Credo che si potrebbe essere cercando di fare troppe cose in una volta.

Se l'origine dati sta per cambiare, non voglio usare un grafico pivot.

Utilizzare una tabella pivot, creare il grafico in fase di esecuzione (come il tuo esempio). Costruire il grafico dei risultati della tabella pivot.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top