VBA PowerPoint - Skapa PowerPoint-presentation från Excel med hjälp av VBA

Innehållsförteckning:

Anonim

Excel VBA PowerPoint-handledning

VBA är ett kraftfullt verktyg som kan användas inom alla områden av Microsoft integrerade verktyg. Precis som MS Excel har Powerpoint också en bestämmelse för att skapa ett makro och automatisera presentationen. Automatiseringen kan vara av alla former. Du har sett presentationer där bilderna är så stora och detaljerade, som ibland hamnar med 50+ bilder bara för att täcka ett träningsämne eller en rapport. Så istället för att lägga till diagrammen i PowerPoint från Excel kan vi skapa en kod som direkt kopierar diagrammen från Excel och klistrar in den i PowerPoint-bilden.

Hur skapar jag en PowerPoint-presentation från Excel VBA?

Nedan är exemplet för att skapa en powerpointpresentation med hjälp av VBA-kod i Excel:

Du kan ladda ner denna VBA PowerPoint Excel-mall här - VBA PowerPoint Excel-mall

VBA PowerPoint-exempel

Låt oss skapa ett diagram först i Excel. För det behöver vi data. Nedan har vi en del försäljningsdata för 8 säljare.

Låt oss nu skapa ett kolumndiagram eller diagram med hjälp av ovanstående data. Vi kommer att se nedan, vi har nu ett kolumndiagram med titeln Såld kvantitet och alla etiketter infogade.

Nu är vår uppgift att få denna graf i PowerPoint-bilden som den här visas med titeln på diagrammet som titeln på PowerPoint-bilden. För detta måste vi aktivera PowerPoint i VBA.

Följ stegen nedan:

Steg 1: Gå till VBA- verktygsmenyn som visas nedan och välj alternativet Referenser … som visas nedan.

Steg 2: När vi gör det kommer vi att få ett referens VBA-projektfönster. I den listan väljer du MS PowerPoint 15.0 Object Library som visas nedan. Detta aktiverar alla kommandon relaterade till MS PowerPoint i VBA. Utan detta kan vi inte köra VBA i PowerPoint. Markera rutan med nämnda bibliotek och klicka på Ok .

Steg 3: Nu för att skriva koden för VBA PowerPoint, behöver vi en modul. För att få en ny modul, gå till Infoga-menyn och välj ett modulalternativ som visas nedan.

Steg 4: Skriv den underkategorin i VBA PowerPoint eller i något annat namn enligt ditt behov enligt nedan.

Koda:

 Sub VBA_Presentation () Slut Sub 

Steg 5: Nu för att skapa en presentation med hjälp av diagram i Excel behöver vi några variabler. Låt oss betrakta 5 variabler som:

  1. PA-ansökan för PowerPoint-applikation.
  2. PPT för PowerPoint-presentation,
  3. PPTSlide för PowerPoint-bild,
  4. PPTS-former för PowerPoints,
  5. PPTCharts för Excel-diagramobjekt.

Koda:

 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 

Steg 6: Använd nu Set- kommandot för att lägga till nytt PowerPoint- program som visas nedan.

Koda:

 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 

Steg 7: Gör PowerPoint-applikationen synlig i en kodrad och använd msoCTrue för att på mystiskt sätt utvärdera det felaktiga sättet. Och efter det kommer samma applikation att användas som Maximized i PowerPoint för att få fullständig vy.

Koda:

 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 PAplicationWindow ppWindowMaximized End Sub 

Steg 8: Ställ nu PPT som är vår presentation att lägga till i MS PowerPoint-applikation,

Koda:

 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 PAplicationWindow ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub 

Steg 9: Nu kommer vi att använda en kombination av For-Next och If-Else loop. Börjar med For-Next Loop.

Koda:

 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 PAplicationWindow ppWindowMaximized Set PPT = PAplication.Presentations.Tillfoga för nästa slut Sub 

Steg 10: I För loop av PPTCharts, första aktiva diagram i Excel.

Koda:

 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 PAplicationWindow ppWindowMaximized Set PPT = PAplication.Presentations.Tillfoga för varje PPTCharts i ActiveSheet.ChartObjects Nästa PPTCharts End Sub 

Steg 11: Nedan visas koden för att klistra in diagrammet från Excel till PowerPoint-bild. Använd kod för att lägga till en bild i definierad PAplikering och lägg till + 1-bild varje gång vi kör koden.

Koda:

 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 PAplicationWindow ppWindowMaximized Set PPT = PAplication.Presentations.Tillsätt för varje PPTCharts i ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Nästa PPTCharts End Sub Sub 

Steg 12: Nu vid fortsättningen till nästa rad med kod, använd nedanstående uppsättning kod för att ställa in en aktiv fönstervy. Detta kommer att användas för att glida efter att Chart har klistrats in i PowerPoint-presentation.

Koda:

 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 PAplicationWindow ppWindowMaximized Set PPT = PAplication.Presentations.Tillfoga för varje PPTCharts i ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.Please = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Nästa PPTCharts End Sub 

Steg 13: När du är klar väljer du PPTChart- variabeln som vi definierade tidigare. Kopiera sedan det valda aktiva diagrammet till kartområdet där det kommer att placeras. Och använd Paste Special- kommandot för att klistra in diagrammet med bilder.

Koda:

 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 PAplicationWindow ppWindowMaximized Set PPT = PAplication.Presentations.Tillfoga för varje PPTCharts i ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.Please = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Välj nästa PPTCharts End Sub Sub 

Steg 14: Välj nu formen på diagrammet som är vid första positionen som textintervall. Och bär samma titel som är " Såld kvantitet " i PowerPoint-presentationen.

Koda:

 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 PAplicationWindow ppWindowMaximized Set PPT = PAplication.Presentations.Tillfoga för varje PPTCharts i ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.Please = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Välj PPTSlide.ShapexthFext.Rext. .Chart.ChartTitle.Text Nästa PPTCharts End Sub 

Detta kompletterar koden för VBA PowerPoint.

Steg 15: Sätt nu koden steg för steg för att veta om någon kodrad har ett fel genom att trycka på funktionsknappen F8. Och efter det kör koden genom att klicka på Spela-knappen under menyfältet som visas nedan.

Vi kommer att få diagrammet publicerat i PowerPoint-filen i den första bilden som visas nedan.

Eftersom koden är stor så kan hela koden ses i textrutan nedan.

Fördelar med Excel VBA PowerPoint

  • Att använda VBA i Powerpoint gör det enkelt att hantera om en ppt-fil har så många bilder med enormt innehåll.
  • VBA med Powerpoint ger en touch av automatisering även med begränsade funktioner tillgängliga.

Nackdelar med Excel VBA PowerPoint

  • Vi måste välja Microsoft PowerPoint 15.0-objektbibliotek från referensalternativet som finns i menyalternativet Verktyg, som vi behöver i början av exempel-1, varje gång vi kör koden för PowerPoint.

Saker att komma ihåg

  • Spara filen i makroaktivera presentationsformat efter att du har skrivit koden. Detta hjälper oss att undvika att förlora koden och använda samma flera gånger i framtiden.
  • Omkodningsfunktionen fungerar inte här eftersom vi behöver hoppa från Excel till PowerPoint och ändra gränssnittet mellan sidorna.
  • Sätt alltid ihop koden innan du kör. Detta hjälper dig att hitta felet i koden. Detta är ganska bra när vi skriver stora koder.
  • För att köra och implementera koden behöver vi öppna excelarket med diagram att vi vill klistra in det i PowerPoint-bilden.
  • Vi kan anpassa diagrammet i PowerPoint enligt våra behov.

Rekommenderade artiklar

Detta är en guide till VBA PowerPoint. Här diskuterar vi hur man skapar PowerPoint-presentation från Excel med hjälp av VBA-kod tillsammans med ett praktiskt exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA Radera kolumn
  2. Statusraden i Excel
  3. VBA Ta bort dubbletter
  4. Skapa kalkylblad i Excel