VBA PowerPoint - Crea presentazione PowerPoint da Excel utilizzando VBA

Sommario:

Anonim

Excel VBA PowerPoint Tutorial

VBA è un potente strumento che può essere utilizzato in qualsiasi area degli strumenti integrati di Microsoft. Come MS Excel, anche Powerpoint ha una disposizione per creare una macro e automatizzare la presentazione. L'automazione può essere di qualsiasi forma. Hai visto presentazioni in cui le diapositive sono così grandi e dettagliate, che a volte finiscono per avere più di 50 diapositive solo per coprire un argomento di formazione o un rapporto. Quindi, invece di aggiungere i grafici in PowerPoint da Excel, possiamo creare un codice che copierà direttamente i grafici da Excel e lo incollerà nella diapositiva di PowerPoint.

Come creare una presentazione di PowerPoint da Excel VBA?

Di seguito è riportato l'esempio per creare una presentazione powerpoint utilizzando il codice VBA in Excel:

Puoi scaricare questo modello Excel VBA PowerPoint qui - Modello Excel VBA PowerPoint

Esempio di VBA PowerPoint

Creiamo un grafico prima in Excel. Per questo, abbiamo bisogno di dati. Di seguito abbiamo alcuni dati di vendita di 8 venditori.

Ora creiamo un istogramma o un grafico con l'aiuto dei dati di cui sopra. Vedremo di seguito, ora abbiamo un istogramma con il titolo Quantità venduta e tutte le etichette inserite.

Ora il nostro compito è ottenere questo grafico nella diapositiva di PowerPoint come mostrato qui con il titolo del grafico come titolo della diapositiva di PowerPoint. Per questo, dobbiamo abilitare PowerPoint in VBA.

Segui i passaggi seguenti:

Passaggio 1: vai al menu dello strumento VBA come mostrato di seguito e seleziona l'opzione Riferimenti … come mostrato di seguito.

Passo 2: Una volta fatto ciò, avremo una finestra Progetto VBA riferimenti. Da quell'elenco selezionare MS Object 15.0 Object Library come mostrato di seguito. Ciò attiverà tutti i comandi relativi a MS PowerPoint in VBA. Senza questo, non possiamo eseguire VBA in PowerPoint. Seleziona la casella della libreria citata e fai clic su OK .

Passo 3: Ora per scrivere il codice per VBA PowerPoint, abbiamo bisogno di un modulo. Per ottenere un nuovo modulo, vai al menu Inserisci e seleziona un'opzione Modulo come mostrato di seguito.

Passo 4: In quel modulo scrivi la sottocategoria di VBA PowerPoint o con qualsiasi altro nome secondo le tue necessità come mostrato di seguito.

Codice:

 Sottotitolo VBA_Presentation () End Sub 

Passo 5: Ora per creare una presentazione con l'aiuto di Chart in Excel, abbiamo bisogno di poche variabili. Consideriamo 5 variabili come:

  1. Applicazione per l'applicazione PowerPoint.
  2. PPT per presentazione PowerPoint,
  3. PPTSlide per PowerPoint Slide,
  4. PPTShapes per PowerPoints,
  5. PPTCharts per l'oggetto grafico di Excel.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject End Sub 

Passaggio 6: ora utilizza il comando Imposta per aggiungere una nuova applicazione PowerPoint come mostrato di seguito.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application End Sub Sub 

Passaggio 7: in una riga di codice, rendere visibile l'applicazione PowerPoint e utilizzare msoCTrue per valutare misteriosamente il modo errato. E successivamente, la stessa applicazione verrà utilizzata come ingrandita in PowerPoint per ottenere la visualizzazione completa.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized End Sub 

Passaggio 8: ora imposta il PPT che è la nostra presentazione da aggiungere nell'applicazione MS PowerPoint,

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub 

Passaggio 9: ora utilizzeremo una combinazione di ciclo For-Next e If-Else. A partire da For-Next Loop.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub 

Step 10: In For loop di PPTCharts, i primi grafici attivi in ​​Excel.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects Next PPTCharts End Sub 

Passaggio 11: di seguito è riportato il codice per incollare il grafico da Excel a diapositiva di PowerPoint. Usa il codice per aggiungere una diapositiva nella PAplicazione definita aggiungendo una diapositiva +1 ogni volta che eseguiamo il codice.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Next PPTCharts End Sub 

Passaggio 12: Ora sulla continuazione della riga di codice successiva, utilizzare il set di codice seguente per impostare una vista della finestra attiva. Ciò servirà a scorrere dopo che il grafico viene incollato nella presentazione di PowerPoint.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotSideSIDE = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Successivo PPTCharts End Sub 

Passaggio 13: una volta terminato, selezionare la variabile PPTChart che abbiamo definito in precedenza. Successivamente copia il grafico attivo selezionato nell'area del grafico in cui verrà posizionato. E usa il comando Incolla speciale per incollare il grafico con le immagini.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotSideSIDE = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Seleziona successivo PPTCharts End Sub 

Passaggio 14: ora seleziona la forma del grafico che si trova nella prima posizione come intervallo di testo. E portare lo stesso titolo che è " Quantità venduta " nella presentazione di PowerPoint.

Codice:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WowowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotSideSIDE = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Seleziona PPTSlame.Shapes (PP). .Chart.ChartTitle.Text Successivo PPTCharts End Sub 

Questo completa il codice per VBA PowerPoint.

Passo 15: Ora compila il codice passo dopo passo per sapere se una riga di codice presenta un errore premendo il tasto funzione F8. E successivamente esegui il codice facendo clic sul pulsante Riproduci che si trova sotto la barra dei menu come mostrato di seguito.

Otterremo il grafico pubblicato nel file PowerPoint nella prima diapositiva di esso, come mostrato di seguito.

Poiché il codice è grande, è possibile visualizzare il codice completo nella casella di testo in basso.

Pro di Excel VBA PowerPoint

  • L'uso di VBA in Powerpoint semplifica la gestione se un file ppt ha così tante diapositive con un contenuto enorme.
  • VBA con Powerpoint offre un tocco di automazione anche con funzioni limitate disponibili.

Contro di Excel VBA PowerPoint

  • Dobbiamo selezionare la libreria di oggetti Microsoft PowerPoint 15.0 dall'opzione di riferimento situata nell'opzione di menu Strumenti, di cui abbiamo bisogno all'inizio dell'esempio-1, ogni volta che eseguiamo il codice per PowerPoint.

Cose da ricordare

  • Salvare il file nel formato Presentazione con attivazione macro dopo aver scritto il codice. Questo ci aiuterà a evitare di perdere il codice e di utilizzare la stessa volta in futuro.
  • La funzione di ricodifica non funzionerà qui poiché dobbiamo passare da Excel a PowerPoint cambiando l'interfaccia tra le pagine.
  • Compilare sempre il codice prima di eseguirlo. Questo ti aiuterà a trovare l'errore nel codice. Questo è molto utile quando scriviamo grandi righe di codice.
  • Per eseguire e implementare il codice dobbiamo aprire il foglio Excel con Chart che vogliamo incollarlo nella diapositiva di PowerPoint.
  • Possiamo allineare il grafico in PowerPoint secondo le nostre esigenze.

Articoli consigliati

Questa è una guida a VBA PowerPoint. Qui discutiamo come creare una presentazione PowerPoint da Excel utilizzando il codice VBA insieme a un esempio pratico e un modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:

  1. VBA Elimina colonna
  2. Barra di stato in Excel
  3. VBA Rimuovi duplicati
  4. Crea foglio di calcolo in Excel