Excel VBA PowerPoint-zelfstudie
VBA is een krachtig hulpmiddel dat kan worden gebruikt binnen elk gebied van geïntegreerde hulpprogramma's van Microsoft. Net als MS Excel heeft Powerpoint ook een voorziening voor het maken van een macro en het automatiseren van de presentatie. De automatisering kan elke vorm hebben. Je hebt presentaties gezien waarbij de dia's zo groot en gedetailleerd zijn, die soms 50+ dia's hebben om een trainingsonderwerp of een rapport te behandelen. Dus in plaats van de grafieken in PowerPoint vanuit Excel toe te voegen, kunnen we een code maken die de grafieken rechtstreeks uit Excel kopieert en die in een PowerPoint-dia plakt.
Hoe maak je een PowerPoint-presentatie vanuit Excel VBA?
Hieronder is het voorbeeld om een powerpoint-presentatie te maken met behulp van VBA-code in Excel:
U kunt deze VBA PowerPoint Excel-sjabloon hier downloaden - VBA PowerPoint Excel-sjabloonVBA PowerPoint-voorbeeld
Laten we eerst een grafiek maken in Excel. Daarvoor hebben we gegevens nodig. Hieronder hebben we enkele verkoopgegevens van 8 verkopers.
Laten we nu een kolomdiagram of grafiek maken met behulp van de bovenstaande gegevens. We zullen hieronder zien, we hebben nu een kolomdiagram met de titel Aantal verkocht en alle labels ingevoegd.
Het is nu onze taak om deze grafiek in PowerPoint-dia te krijgen zoals deze hier wordt weergegeven met de titel van de grafiek als de titel van PowerPoint-dia. Hiervoor moeten we PowerPoint inschakelen in VBA.
Volg de onderstaande stappen:
Stap 1: Ga naar VBA Tool- menu zoals hieronder weergegeven en selecteer de optie Referenties … zoals hieronder weergegeven.
Stap 2: Zodra we dat doen, krijgen we een Referenties VBA-projectvensters. Selecteer uit die lijst MS PowerPoint 15.0 Objectbibliotheek zoals hieronder getoond. Hiermee worden alle opdrachten geactiveerd die betrekking hebben op MS PowerPoint in VBA. Zonder dit kunnen we VBA niet uitvoeren in PowerPoint. Vink het vakje van genoemde bibliotheek aan en klik op OK .
Stap 3: Nu hebben we een module nodig om de code voor VBA PowerPoint te schrijven. Om een nieuwe module te krijgen, ga naar menu Invoegen en selecteer een Module- optie zoals hieronder getoond.
Stap 4: schrijf in die module de subcategorie van VBA PowerPoint of in een andere naam, zoals hieronder aangegeven.
Code:
Sub VBA_Presentation () End Sub
Stap 5: Nu hebben we weinig variabelen nodig om een presentatie te maken met behulp van Chart in Excel. Laten we 5 variabelen beschouwen als:
- PApplication voor PowerPoint-toepassing.
- PPT voor PowerPoint-presentatie,
- PPTSlide voor PowerPoint-dia,
- PPTShapes voor PowerPoints,
- PPTCharts voor Excel Chart Object.
Code:
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
Stap 6: Gebruik nu de opdracht Set om een nieuwe PowerPoint- toepassing toe te voegen, zoals hieronder wordt weergegeven.
Code:
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
Stap 7: Maak in een coderegel de PowerPoint-toepassing zichtbaar en gebruik msoCTrue voor een mysterieuze evaluatie van de onjuiste manier. En daarna wordt dezelfde applicatie gebruikt als Maximized in PowerPoint om het volledige beeld te krijgen.
Code:
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.Window = ppWindowMaximized End Sub
Stap 8: Stel nu de PPT in die onze presentatie moet toevoegen in MS PowerPoint Application,
Code:
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.Window = ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub
Stap 9: Nu zullen we een combinatie van For-Next en If-Else loop gebruiken. Beginnend met For-Next Loop.
Code:
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.Window = ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub
Stap 10: In For lus van PPTCharts, eerst actieve grafieken in Excel.
Code:
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.Window = ppWindowMaximized Set PPT = PAplication.Presentations.Add voor elke PPTCharts in ActiveSheet.ChartObjects Volgende PPTCharts End Sub
Stap 11: Hieronder staat de code voor het plakken van de grafiek van Excel naar PowerPoint-dia. Gebruik code om een dia toe te voegen aan gedefinieerde PAplication en voeg +1 dia toe elke keer dat we de code uitvoeren.
Code:
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.Window = ppWindowMaximized Set PPT = PAplication.Presentations.Add voor elke PPTCharts in ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Volgende PPTCharts End Sub
Stap 12: Gebruik nu de volgende coderegel om een actieve vensterweergave in te stellen. Dit wordt gebruikt om te glijden nadat het diagram in de PowerPoint-presentatie is geplakt.
Code:
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.Window = ppWindowMaximized Set PPT = PAplication.Presentations.Add voor Elke PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.ActivePresentation.Slides.Count Set PPTSlide = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Volgende PPTCharts End Sub
Stap 13: Selecteer eenmaal de variabele PPTChart die we eerder hebben gedefinieerd. Kopieer daarna de geselecteerde actieve grafiek naar het grafiekgebied waar deze zal worden geplaatst. En gebruik de opdracht Plakken speciaal om de grafiek met afbeeldingen te plakken.
Code:
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.Window = ppWindowMaximized Set PPT = PAplication.Presentations.Add voor Elke PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.ActivePresentation.Slides.Count Set PPTSlide = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Selecteer Volgende PPTCharts End Sub Sub
Stap 14: Selecteer nu de vorm van de grafiek die zich op de eerste positie bevindt als tekstbereik. En voer dezelfde titel die ' Verkochte hoeveelheid ' is in de PowerPoint-presentatie.
Code:
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.Window = ppWindowMaximized Set PPT = PAplication.Presentations.Add voor Elke PPTCharts In ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.ActivePresentation.Slides.Count Set PPTSlide = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture). .Chart.ChartTitle.Text Volgende PPTCharts End Sub
Hiermee is de code voor VBA PowerPoint voltooid.
Stap 15: compileer nu de code stap voor stap om te weten of een coderegel een fout bevat door op functietoets F8 te drukken. En voer daarna de code uit door op de knop Afspelen te klikken die zich onder de menubalk bevindt, zoals hieronder wordt weergegeven.
We zullen de grafiek in een PowerPoint-bestand plaatsen in de eerste dia ervan, zoals hieronder getoond.
Omdat de code groot is, is de volledige code te zien in het onderstaande tekstvak.
Voordelen van Excel VBA PowerPoint
- Het gebruik van VBA in Powerpoint is gemakkelijk in gebruik als een ppt-bestand zoveel dia's met enorme inhoud heeft.
- VBA met Powerpoint geeft een vleugje automatisering, zelfs met beperkte beschikbare functies.
Nadelen van Excel VBA PowerPoint
- We moeten de Microsoft PowerPoint 15.0-objectbibliotheek selecteren uit de optie Referentie in de menu-optie Tool, die we nodig hebben in het begin van voorbeeld-1, elke keer dat we de code voor PowerPoint uitvoeren.
Dingen om te onthouden
- Sla het bestand op in de indeling Macro-Enable Presentation nadat u de code hebt geschreven. Dit helpt ons om te voorkomen dat we de code verliezen en in de toekomst dezelfde meerdere keren gebruiken.
- De hercoderingsfunctie werkt hier niet, omdat we van Excel naar PowerPoint moeten springen om de interface tussen de pagina's te wijzigen.
- Compileer de code altijd voordat u begint. Dit zal je helpen om de fout in de code te vinden. Dit is heel handig als we grote regels code schrijven.
- Om de code uit te voeren en te implementeren, moeten we het Excel-blad openen met de grafiek die we in de PowerPoint-dia willen plakken.
- We kunnen de grafiek in PowerPoint uitlijnen volgens onze behoeften.
Aanbevolen artikelen
Dit is een handleiding voor VBA PowerPoint. Hier bespreken we hoe u PowerPoint-presentatie vanuit Excel kunt maken met behulp van VBA-code, samen met een praktisch voorbeeld en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -
- VBA Kolom verwijderen
- Statusbalk in Excel
- VBA Duplicaten verwijderen
- Maak een spreadsheet in Excel