Tecnicamente, in PowerPoint puoi collegare un file Excel a una presentazione PowerPoint. Tuttavia, ciò non renderà il grafico dinamico e talvolta è difficile dire quando il grafico verrà aggiornato. E se volessimo ancora di più? Cosa succede se vogliamo che il grafico si aggiorni durante una presentazione?
Immagina di voler presentare una serie di diapositive dinamiche in un ambiente Office, ciascuna diapositiva mostra i grafici più recenti da un dashboard Excel aggiornato. In altri casi, potresti voler evitare qualsiasi collegamento a file Excel e avere semplicemente un riferimento dinamico al tuo file o ai tuoi file di origine. Oggi esploreremo come creare grafici dinamici in PowerPoint utilizzando VBA.
Forse potresti essere interessato: Vantaggi di PowerPoint rispetto ad altri strumenti di presentazione
Una panoramica storica della grafica PowerPoint
Quando abbiamo avviato PresentationPoint e creato DataPoint, che è stato ufficialmente rilasciato nel 2003, PowerPoint 1997, 2000 e 2003 utilizzavano il motore Microsoft Graph per visualizzare i grafici sulle diapositive. Con la versione di PowerPoint o Office 2007, in PowerPoint è stato introdotto un nuovo motore grafico. Sembrava esattamente il miglior motore di creazione di grafici di Microsoft Excel.
Perché non utilizzare i grafici collegati?
Prima di iniziare, vogliamo spiegarti che non è necessario utilizzare l'approccio spiegato di seguito per farlo semplicemente collegare un grafico Excel ad una presentazione PowerPoint. Lo scopo di questo esercizio è evitare il collegamento e renderlo completamente flessibile in base alle tue preferenze quando desideri aggiornare i tuoi grafici e persino aggiornare i file Excel prima di farlo.
Creazione di grafici dinamici in PowerPoint
Di seguito è riportato un tutorial passo passo su come impostare i grafici pivot in PowerPoint e nella macro:
Passaggio 1: crea PowerPoint e forme
Innanzitutto, dobbiamo creare una forma PowerPoint che verrà utilizzata come segnaposto per contrassegnare la posizione e la dimensione del nostro grafico. Fare clic sull'immagine qui sotto per riferimento.

Passaggio 2: crea un grafico Excel
Successivamente, dobbiamo creare e denominare un grafico Excel. Questo verrà copiato e incollato come immagine nel nostro PowerPoint per impedire il collegamento e garantire che la formattazione sia identica a come viene visualizzata nel file Excel.
Passaggio 3: crea la macro VBA del grafico dinamico in PowerPoint
Se non sai come accedere alla scheda sviluppatore, puoi procedere in modo simile a come lo fai in Excel. Successivamente, crea un nuovo modulo VBA e copia il seguente codice VBA:
| 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#Se VBA7 Allora
Pubblica dichiarazione PtrSafe Sub Sleep Lib «kernel32» (ByVal millisecondi come LongPtr) 'MS Office 64 bit #Altro Public Declare Sub Sleep Lib «kernel32» (ByVal millisecondi As Long) 'MS Office 32 Bit #Finisci se
Funzione CopyChartFromExcelToPPT(excelFilePath As String, sheetName As String, chartName As String, dstSlide As Long, ShapeLeft opzionale As Long, shapeTop opzionale As Long, shapeWidth opzionale As Long, shapeHeight opzionale As Long) Come forma In caso di errore Vai a ErrorHandl 'Gestisci errori
'Imposta variabili e apri Excel Dim eApp come Excel.Applicazione, wb come Excel.cartella di lavoro, ppt come PowerPoint.Presentazione, ws come Excel.foglio di lavoro Imposta eApp = Nuova applicazione Excel eApp.Visible = Falso Imposta wb = eApp.Workbooks.Open(excelFilePath) Imposta ppt = ActivePresentation 'Copia il grafico in Excel wb.Sheets(nomefoglio).ChartObjects(nomegrafico).Copia
'Incolla nella prima diapositiva della presentazione PowerPoint attiva ppt.Slides(dstSlide).Shapes.PasteSpecial ppPasteBitmap Imposta CopyChartFromExcelToPPT = ppt.Slides(dstSlide).Shapes(ppt.Slides(dstSlide).Shapes.Count) 'Chiudi e ripulisci Excel wb.Close SaveChanges:=False eApp.Esci Imposta wb = Niente: imposta eApp = Niente
'Sposta la nuova forma se fornita a sinistra/in alto Se no (IsMissing(shapeTop)) Allora Con CopyChartFromExcelToPPT .Sinistra = formaSinistra .Top = formaTop Fine Con End If Se no (IsMissing(shapeWidth)) Allora Con CopyChartFromExcelToPPT .LockAspectRatio = Falso .Larghezza = larghezza della forma .Altezza = formaAltezza Fine Con End If Esci dalla funzione ErrorHandl: 'Assicurati di chiudere la cartella di lavoro ed Excel e restituire False On Error Resume Next Se no (l'eApp non è niente) Allora wb.Close SaveChanges:=False eApp.Esci End If Imposta CopyChartFromExcelToPPT = Niente End Function |
Lasciami analizzare questo dettaglio. In precedenza, abbiamo prima definito la funzione Sonno VBA, poiché lo utilizzeremo come meccanismo di ritardo tra gli aggiornamenti. Successivamente definiamo la funzione CopiagraficodaExcelinPPT che sostanzialmente fa quanto segue:
- Apre un file Excel definito con excelFilePath.
- Copia il grafico chartName dal foglio sheetName.
- Incollalo in ActivePresentation sulla diapositiva dstSlide e posizione shapeTop e shapeLeft, con le dimensioni di shapeWidth e shapeHeight
Come puoi vedere, questa è una funzione generica che puoi riutilizzare per i tuoi scopi, indipendentemente dall'esempio di utilizzo che utilizzerai.
Passaggio 4: aggiorna automaticamente il grafico
Ora creiamo uno scenario semplice utilizzando la funzione generica per copiare un grafico da Excel a PowerPoint:
- Paso 1: funziona in modalità Riceverai .
- Paso 2: ogni secondo aggiorna il grafico Excel e aggiorna il timestamp.
- Paso 3: uscire dalla modalità presentazione.
Di seguito il codice VBA fa esattamente questo:
| 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Sub TestAutoUpdate()
Dim shp come forma, shp1 come forma, shpTxt come forma Grafico attenuatoSegnaposto come forma, timeShape come forma, slideNumber come lungo 'Ottieni forme segnaposto, nascondi ChartPlaceholder numerodiapositiva = 1 Imposta chartPlaceholder = ActivePresentation.Slides(slideNumber).Shapes("ChartPlaceholder"): chartPlaceholder.Visible = msoFalse Imposta timeShape = ActivePresentation.Slides(slideNumber).Shapes("TimeStamp")
'Inizia la presentazione! ActivePresentation.SlideShowSettings.Run
'Aggiorna il grafico e imposta il timestamp Imposta shp = CopyChartFromExcelToPPT(ActivePresentation.Path & «\Test.xlsx», «Sheet1», «Grafico 1», slideNumber, chartPlaceholder.Left, chartPlaceholder.Top, chartPlaceholder.Width, chartPlaceholder.Height) timeShape.TextFrame.TextRange.Text = Formato(Ora(), «AAAA-MM-GG HH:MM») FaiEventi Il sonno 1000 Per i = 0 A 3 'Aggiorna il grafico, elimina la vecchia forma e imposta il timestamp Imposta shp1 = CopyChartFromExcelToPPT(ActivePresentation.Path & «\Test.xlsx», «Sheet1», «Grafico 1», slideNumber, chartPlaceholder.Left, chartPlaceholder.Top, chartPlaceholder.Width, chartPlaceholder.Height) shp.Delete: imposta shp = shp1 timeShape.TextFrame.TextRange.Text = Formato(Ora(), «AAAA-MM-GG HH:MM») 'Dormi per 1 secondo FaiEventi Il sonno 1000 Avanti 'Fine della presentazione! ActivePresentation.SlideShowWindow.View.Exit 'Elimina il grafico e rendi nuovamente visibile il ChartPlaceholder shp.Elimina chartPlaceholder.Visible = msoTrue End Sub |
Casi d'uso per grafici dinamici in PowerPoint
Per noi, un modo di animare grafici Excel in PowerPoint introduce una nuova tavolozza di opzioni per ampliare ulteriormente i confini di ciò che possiamo fare con PowerPoint. Di seguito è riportato un breve elenco di idee che possono aiutarti a immaginare quanto possa essere utile:
- Crea una presentazione dinamica di Office con grafici ad aggiornamento automatico da più file Excel.
- Crea un pulsante per aggiornare manualmente uno o tutti i grafici nella tua presentazione PowerPoint.
- Crea un modo semplice per collegare i tuoi grafici PowerPoint a file Excel che potrebbero essere spostati (ad esempio, collegali a file Excel nella stessa directory).
Scegli tra tabelle dinamiche e grafici in PowerPoint
Puoi comunque utilizzare il nuovo oggetto grafico per visualizzare grafica in tempo reale sulle diapositive. Ma vedrai una scheda tecnica lampeggiare ogni volta DataPoint aprire il contenuto dei dati del grafico. Per le presentazioni online, o in altre parole, quando esegui una presentazione PowerPoint su un computer o uno schermo televisivo dedicato per il tuo pubblico e vuoi evitare di vedere quel foglio di lavoro, devi utilizzare la grafica "più vecchia".
Forse vuoi sapere: Come utilizzare VBA in PowerPoint: una guida per principianti
Come inserire un'immagine nella diapositiva
Con l'ultima versione di DataPoint, è sufficiente fare clic per aprire il menu Inserire del tuo PowerPoint. Alla fine dei pulsanti originali, troverai un nuovo gruppo di Punti dati con un pulsante Grafico. Quando sei su una diapositiva, fai semplicemente clic sul pulsante Grafico e inserirà per te un nuovo oggetto grafico predefinito. Questo si comporta come la nuova opzione Inserisci > Grafico.

Dopo aver configurato una connessione dati a un'origine dati di tua scelta e selezionato questo oggetto grafico, fai clic su Punto dati e poi sul pulsante Grafico per assegnare a questo i dati della connessione dati diagramma/grafico.

Questo oggetto grafico può essere perfettamente utilizzato nella presentazione visualizzare le informazioni in tempo reale sotto forma di grafico barra o circolare. Ma il vantaggio più grande è che non vedrai una scheda tecnica con le tue informazioni lampeggiare sullo schermo.

Quando modifichi il grafico
Ogni volta che fai clic per modificare un oggetto grafico, PowerPoint ti dirà quanto segue: 'Per modificare il tuo grafico utilizzando le funzionalità di PowerPoint più recenti, dovrai convertirlo nel formato più recente'. Scegliere Modifica esistente qui per continuare a utilizzare l'oggetto Microsoft Graph.

PowerPoint te lo chiederà ogni volta. Se lo trovi fastidioso e desideri continuare a utilizzare la grafica, forse disabilita questa domanda. Per fare ciò, vai al registro e aggiungi una nuova chiave (DWORD) chiamata MSGraphEnable al percorso riportato di seguito e impostare il valore su 1.
\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Charting
Il valore 16,0 qui rappresenta la versione di PowerPoint 2016. Utilizzare 15,0 per PowerPoint 2013 e 14,0 per PowerPoint 2010.
Come creare una presentazione dinamica
Se hai una presentazione con alcuni grafici e report, non sai mai quanto spesso dovrai aggiornarla. Ad esempio, crea un rapporto trimestrale sul rendimento e ricevi nuovi dati ogni ora. In questo caso, invece di tabelle e grafici PowerPoint, è meglio incorporare un oggetto Excel. Le informazioni vengono aggiornate automaticamente dopo gli aggiornamenti nella tabella Excel.

Per creare una diapositiva nella presentazione di PowerPoint con dati aggiornati automaticamente, procedi come segue:
Paso 1: Seleziona un grafico o una tabella in Excel che desideri aggiungere alla presentazione ed esegui una delle seguenti operazioni:
- Clicca su Ctrl + C.
- Nella scheda Inizio, nel gruppo appunti, fare clic sul pulsante Copiare.

- Fare clic con il tasto destro sull'oggetto selezionato e quindi scegliere Copiare dal menu a comparsa.
Paso 2: Apri la diapositiva della presentazione in cui desideri inserire l'oggetto Excel e poi nella scheda Inizio, nel gruppo appunti, scegli dall'elenco a discesa l'opzione Prendere.
- 1. Se provi a incollare un grafico.

Dall'elenco Opzioni Incolla, scegli:
- Utilizza il tema di destinazione e collega i dati.
- Mantenere il formato sorgente e collegare i dati.
Usa tema di destinazione adotterà i colori, i caratteri e gli effetti del tema della presentazione di destinazione in cui stai incollando. I colori di origine verranno modificati, fonti ed effetti. Mantieni formattazione originale manterrà i colori, i caratteri e gli effetti del tema della presentazione da cui stai copiando. Tutti i colori, i caratteri e gli effetti saranno gli stessi della cartella di lavoro di origine.
Collega i dati Questo è ciò che utilizzerai se desideri che le informazioni nel grafico o nel foglio di calcolo si aggiornino automaticamente quando vengono aggiornati i dati di origine. Viene creato un collegamento all'originale e le modifiche all'origine apporteranno modifiche al documento di destinazione.
¡Attenzione! Poiché questo metodo crea un collegamento a un foglio di calcolo Excel specifico, se sposti o elimini il file di origine, non sarai in grado di aggiornare il grafico.

2.2 Se vuoi inserire una tabella, fai clic su Incolla speciale:

Nota: Qualsiasi altra opzione di incolla non crea un collegamento al file di origine, pertanto eventuali modifiche alla tabella di Excel non aggiornano la tabella in PowerPoint.
Nella finestra di dialogo Colla speciale, seleziona la casella di controllo Incolla il link e fare clic Accettare:

Ora, se modifichi qualcosa nel grafico o nella tabella, vedrai le modifiche nella presentazione di PowerPoint:

Altre opzioni per incollare un grafico Excel:
- Utilizza il tema di destinazione e incorpora la cartella di lavoro.
- Mantenere il formato di origine e incorporare la cartella di lavoro.
Incorpora cartella di lavoro creerà una copia dei dati e la incorporerà nel documento di destinazione. Le future modifiche al carattere non verranno applicate. Puoi modificare manualmente il grafico facendo doppio clic su di esso e apportando modifiche nel mini foglio di calcolo che si apre all'interno del documento di destinazione.
Inoltre, le modifiche apportate al documento di destinazione non influiranno sui dati di origine. Incorporare il grafico e i dati di origine è utile per condividere documenti tra il computer dell'utente e il tuo.
Tuttavia, puoi creare file molto grandi. L'oggetto del file di origine verrà visualizzato come immagine. Qualsiasi modifica al carattere non modifica questa immagine. Potrai quindi modificare l'immagine come qualsiasi altra, ma non sarai in grado di modificare o aprire i dati di origine o modificare il grafico.
Dare un'occhiata a: Come utilizzare il puntatore laser in Powerpoint (verde, rosso e blu)
Pensieri finali
Pronto, ora sai come lavorare con la grafica dinamica in PowerPoint. Siamo sicuri che la nuova forma di grafici introdotta in PowerPoint e che Microsoft ha sviluppato per le versioni più recenti di PowerPoint sia molto migliore per tutti noi, rispetto al vecchio oggetto Microsoft Graph. Ma come abbiamo appreso, aggiornare la scheda tecnica senza eseguire il flashing della scheda tecnica è tecnicamente impossibile in questo momento e causa corruzioni. Speriamo che questo tutorial ti sia stato utile e che ci visiterai di nuovo.
Mi chiamo Javier Chirinos e sono appassionato di tecnologia. Da quanto ricordo, ero appassionato di computer e videogiochi e quell'hobby è finito in un lavoro.
Da più di 15 anni pubblico articoli su tecnologia e gadget su Internet, in particolare in mundobytes.com
Sono anche un esperto di comunicazione e marketing online e ho conoscenza dello sviluppo di WordPress.