Samouczek programu Excel VBA PowerPoint
VBA to potężne narzędzie, którego można używać w dowolnym obszarze zintegrowanych narzędzi Microsoft. Podobnie jak MS Excel, Powerpoint ma również możliwość tworzenia makr i automatyzacji prezentacji. Automatyzacja może mieć dowolną formę. Widziałeś prezentacje, w których slajdy są tak duże i szczegółowe, co czasem kończy się posiadaniem ponad 50 slajdów tylko na temat szkolenia lub raportu. Zamiast dodawać wykresy w programie PowerPoint z programu Excel, możemy utworzyć kod, który bezpośrednio skopiuje wykresy z programu Excel i wklei go do slajdu PowerPoint.
Jak utworzyć prezentację PowerPoint z Excel VBA?
Poniżej znajduje się przykład tworzenia prezentacji PowerPoint za pomocą kodu VBA w programie Excel:
Możesz pobrać ten szablon PowerPoint VBA PowerPoint tutaj - Szablon PowerPoint VBA PowerPointPrzykład VBA PowerPoint
Utwórzmy najpierw wykres w programie Excel. Do tego potrzebujemy danych. Poniżej przedstawiamy niektóre dane dotyczące sprzedaży 8 sprzedawców.
Teraz utwórzmy wykres kolumnowy lub wykres za pomocą powyższych danych. Zobaczymy poniżej, mamy teraz wykres kolumnowy z tytułem Ilość sprzedana i wszystkie etykiety wstawione.
Teraz naszym zadaniem jest umieszczenie tego wykresu w slajdzie PowerPoint, ponieważ pokazuje on tytuł wykresu jako tytuł slajdu PowerPoint. W tym celu musimy włączyć PowerPoint w VBA.
Wykonaj poniższe kroki:
Krok 1: Przejdź do menu Narzędzia VBA, jak pokazano poniżej i wybierz opcję Referencje…, jak pokazano poniżej.
Krok 2: Gdy to zrobimy, otrzymamy okna projektu VBA Referencje. Z tej listy wybierz bibliotekę obiektów MS PowerPoint 15.0, jak pokazano poniżej. Spowoduje to aktywację wszystkich poleceń związanych z MS PowerPoint w VBA. Bez tego nie możemy uruchomić VBA w PowerPoint. Zaznacz pole wspomnianej biblioteki i kliknij OK .
Krok 3: Teraz do napisania kodu dla VBA PowerPoint potrzebujemy modułu. Aby uzyskać nowy moduł, przejdź do menu Wstaw i wybierz opcję Moduł, jak pokazano poniżej.
Krok 4: W tym module napisz podkategorię programu VBA PowerPoint lub dowolną inną nazwę zgodnie z potrzebami, jak pokazano poniżej.
Kod:
Sub VBA_Presentation () End Sub
Krok 5: Teraz do stworzenia prezentacji za pomocą Chart in excel potrzebujemy kilku Zmiennych. Rozważmy 5 zmiennych jako:
- Aplikacja dla aplikacji PowerPoint.
- PPT do prezentacji PowerPoint,
- PPTSlide dla PowerPoint Slide,
- PPTShapes for PowerPoints,
- PPTCharts dla obiektu wykresu Excel.
Kod:
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
Krok 6: Teraz użyj polecenia Ustaw, aby dodać nową aplikację PowerPoint, jak pokazano poniżej.
Kod:
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 = Nowy PowerPoint.Application End Sub
Krok 7: Uczyń aplikację PowerPoint widoczną w wierszu kodu i użyj msoCTrue do tajemniczej oceny nieprawidłowego sposobu. A potem ta sama aplikacja zostanie użyta jako Zmaksymalizowana w programie PowerPoint, aby uzyskać pełny widok.
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized End Sub
Krok 8: Teraz ustaw PPT, który jest naszą prezentacją do dodania w aplikacji MS PowerPoint,
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub
Krok 9: Teraz użyjemy kombinacji pętli For-Next i If-Else. Począwszy od pętli For-Next.
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub
Krok 10: W pętli PPTCharts, pierwsze aktywne wykresy w programie Excel.
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add For Each PPTCharts In ActiveSheet.ChartObjects Next PPTCharts End Sub
Krok 11: Poniżej znajduje się kod wklejania wykresu z programu Excel do slajdu PowerPoint. Użyj kodu, aby dodać slajd do zdefiniowanej aplikacji. Dodanie slajdu +1 przy każdym uruchomieniu kodu.
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add Dla każdego PPTCharts w ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Następny PPTCharts End Sub
Krok 12: Teraz, przechodząc do następnego wiersza kodu, użyj poniższego zestawu kodu, aby ustawić widok aktywnego okna. Będzie to służyć do przesuwania się po wklejeniu wykresu w prezentacji PowerPoint.
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add Dla każdego PPTCharts w ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide.l = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Następny PPTCharts End Sub
Krok 13: Po zakończeniu wybierz zmienną PPTChart, którą zdefiniowaliśmy wcześniej. Następnie skopiuj wybrany aktywny wykres do obszaru wykresu, w którym zostanie on umieszczony. I użyj polecenia Wklej specjalnie, aby wkleić tabelę ze zdjęciami.
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add Dla każdego PPTCharts w ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide.l = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Wybierz Następny PPTCharts End Sub
Krok 14: Teraz wybierz kształt wykresu, który jest na pierwszej pozycji jako zakres tekstu. I nosić ten sam tytuł, który jest „ Ilość sprzedana ” do prezentacji PowerPoint.
Kod:
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 = Nowy PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add Dla każdego PPTCharts w ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide.l = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Wybierz PPTSlide.Shapes (1) .TextFrame .Chart.ChartTitle.Text Następny PPTCharts End Sub
To uzupełnia kod dla VBA PowerPoint.
Krok 15: Teraz skompiluj kod krok po kroku, aby wiedzieć, czy którykolwiek wiersz kodu zawiera błąd, naciskając klawisz funkcyjny F8. Następnie uruchom kod, klikając przycisk Odtwórz, który znajduje się poniżej paska menu, jak pokazano poniżej.
Otrzymamy wykres opublikowany w pliku PowerPoint na pierwszym slajdzie, jak pokazano poniżej.
Ponieważ kod jest duży, cały kod można zobaczyć w polu tekstowym poniżej.
Plusy programu Excel VBA PowerPoint
- Używanie VBA w Powerpoint ułatwia obsługę, jeśli plik ppt zawiera tak wiele slajdów o dużej zawartości.
- VBA z Powerpoint zapewnia odrobinę automatyzacji nawet przy ograniczonych dostępnych funkcjach.
Wady programu Excel VBA PowerPoint
- Musimy wybrać bibliotekę obiektów Microsoft PowerPoint 15.0 z opcji Odniesienie znajdującej się w opcji menu Narzędzia, której potrzebujemy na początku przykładu-1, za każdym razem, gdy uruchamiamy kod dla programu PowerPoint.
Rzeczy do zapamiętania
- Po zapisaniu kodu zapisz plik w formacie prezentacji z włączoną obsługą makr. Pomoże nam to uniknąć utraty kodu i wielokrotnego użycia tego samego czasu w przyszłości.
- Funkcja przekodowywania nie będzie tutaj działać, ponieważ musimy przejść z Excela do PowerPointa, zmieniając interfejs między stronami.
- Zawsze kompiluj kod przed uruchomieniem. Pomoże to znaleźć błąd w kodzie. Jest to bardzo pomocne, gdy piszemy duże linie kodu.
- Aby uruchomić i zaimplementować kod, musimy otworzyć arkusz programu Excel z wykresem, który chcemy wkleić do slajdu PowerPoint.
- Możemy wyrównać wykres w PowerPoint zgodnie z naszymi potrzebami.
Polecane artykuły
To jest przewodnik po VBA PowerPoint. Tutaj omawiamy sposób tworzenia prezentacji PowerPoint z Excela przy użyciu kodu VBA wraz z praktycznym przykładem i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -
- VBA Usuń kolumnę
- Pasek stanu w programie Excel
- VBA Usuń duplikaty
- Utwórz arkusz kalkulacyjny w programie Excel