Dynamiske diagrammer i Powerpoint: Diagrammer som oppdateres automatisk

Siste oppdatering: 04/10/2024
Dynamisk grafikk i PowerPint

Teknisk sett kan du i PowerPoint koble en Excel-fil til en PowerPoint-presentasjon. Det vil imidlertid ikke gjøre diagrammet dynamisk, og noen ganger er det vanskelig å si når diagrammet vil oppdateres. Men hva om vi vil ha enda mer? Hva om vi vil at diagrammet skal oppdateres under en presentasjon?

Tenk deg at du ønsker å presentere en serie dynamiske lysbilder i et Office-miljø, der hvert lysbilde viser de siste diagrammene fra et oppdatert Excel-dashbord. I andre tilfeller vil du kanskje unngå koblinger til Excel-filer og ganske enkelt ha en dynamisk referanse til kildefilen eller kildefilene. I dag skal vi utforske hvordan du lager dynamiske diagrammer i PowerPoint bruker VBA.

Kanskje du kanskje er interessert: Fordeler med PowerPoint sammenlignet med andre presentasjonsverktøy

En historisk oversikt over PowerPoint-grafikk

Da vi startet PresentationPoint og fortsatte med å lage DataPoint, som ble offisielt utgitt i 2003, brukte PowerPoint 1997, 2000 og 2003 Microsoft Graph-motoren til å vise grafer på lysbildene dine. Med versjonen av PowerPoint eller Office 2007 ble en ny grafikkmotor introdusert i PowerPoint. Det så akkurat ut som den beste Microsoft Excel-kartmotoren.

Hvorfor ikke bruke koblede diagrammer?

Før vi begynner, vil vi forklare at du ikke trenger å bruke tilnærmingen forklart nedenfor for å enkelt koble til et excel-diagram til en PowerPoint-presentasjon. Hensikten med denne øvelsen er å unngå koblinger og gjøre den fullstendig fleksibel til dine preferanser når du vil oppdatere diagrammene og til og med oppdatere Excel-filene før du gjør det.

Lage dynamiske diagrammer i PowerPoint

Nedenfor er en trinn-for-trinn veiledning om hvordan du setter opp pivotdiagrammer i PowerPoint og makroen:

Trinn 1: Lag PowerPoint og figurer

Først må vi lage en PowerPoint-form som skal brukes som plassholder for å markere plasseringen og størrelsen på diagrammet vårt. Klikk på bildet nedenfor for referanse.

Dynamisk grafikk i PowerPint

Trinn 2: Lag et Excel-diagram

Deretter må vi lage og navngi et Excel-diagram. Dette vil bli kopiert og limt inn som et bilde i vår PowerPoint for å forhindre kobling og sikre at formateringen er identisk med hvordan den vises i Excel-filen din.

Dynamisk grafikk i PowerPint

Trinn 3: Lag VBA-makroen for dynamisk diagram i PowerPoint

Hvis du ikke vet hvordan du får tilgang til fanen utvikleren, kan du fortsette på samme måte som du gjør det i Excel. Deretter oppretter du en ny VBA-modul og kopierer følgende VBA-kode:

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

#Hvis VBA7 Da

Offentlig erklærer PtrSafe Sub Sleep Lib «kernel32» (ByVal milliseconds As LongPtr) 'MS Office 64 Bit

#Ellers

Offentlig erklære Sub Sleep Lib «kernel32» (ByVal milliseconds As Long) 'MS Office 32 Bit

#EndIf

 

Funksjon CopyChartFromExcelToPPT(excelFilePath As String, SheetName As String, ChartName As String, dstSlide As Long, Valgfri form Venstre så lang, Valgfri formTopp så lang, valgfri formBredde så lang, valgfri formhøyde så lang) som form

Ved feil Gå til ErrorHandl 'Håndter feil

 

'Sett variabler og åpne Excel

Dim eApp som Excel.Application, wb As Excel.Workbook, ppt Som PowerPoint.Presentation, ws As Excel.Worksheet

Sett eApp = New Excel.Application

eApp.Visible = False

Sett wb = eApp.Workbooks.Open(excelFilePath)

Sett ppt = ActivePresentation

'Kopier diagram i Excel

wb.Sheets(sheetName).ChartObjects(chartName).Copy

 

Lim inn i første lysbilde i aktiv PowerPoint-presentasjon

ppt.Slides(dstSlide).Shapes.PasteSpecial ppPasteBitmap

Sett CopyChartFromExcelToPPT = ppt.Slides(dstSlide).Shapes(ppt.Slides(dstSlide).Shapes.Count)

'Lukk og ryd opp i Excel

wb.Close SaveChanges:=False

eApp.Avslutt

Sett wb = Ingenting: Sett eApp = Ingenting

 

'Flytt den nye formen hvis venstre/topp følger med

Hvis ikke (mangler(shapeTop)) Da

Med CopyChartFromExcelToPPT

.Left = shapeLeft

.Topp = formTopp

Slutt med

End If

Hvis ikke (mangler(shapeWidth)) Da

Med CopyChartFromExcelToPPT

.LockAspectRatio = False

.Width = shapeWidth

.Høyde = formHøyde

Slutt med

End If

Utgangsfunksjon

ErrorHandl:

'Sørg for å lukke arbeidsboken og Excel og returnere False

On Error Resume Next

Hvis ikke (eApp er ingenting) så

wb.Close SaveChanges:=False

eApp.Avslutt

End If

Sett CopyChartFromExcelToPPT = Ingenting

End Function

La meg bryte ned dette. Tidligere definerte vi først funksjonen VBA Sleep, siden vi vil bruke det som en forsinkelsesmekanisme mellom oppdateringer. Deretter definerer vi funksjonen CopyChartFromExcelToPPT som i utgangspunktet gjør følgende:

  1. Åpner en Excel-fil definert med excelFilePath.
  2. Kopierer diagramdiagramnavnet fra arket arknavn.
  3. Limer den inn i ActivePresentation på lysbildet dstSlide og plassering shapeTop og shapeLeft, med størrelsen shapeWidth og shapeHeight

Som du ser er dette en generisk funksjon som du kan gjenbruke til ditt eget formål, uavhengig av brukseksemplet du skal bruke.

Trinn 4: Oppdater diagrammet automatisk

La oss nå lage et enkelt scenario ved å bruke den generiske funksjonen for å kopiere et diagram fra Excel til PowerPoint:

  • Trinn 1: kjører i modus Presentasjon.
  • Trinn 2: hvert sekund oppdaterer excel-diagrammet og oppdaterer tidsstemplet.
  • Trinn 3: gå ut av presentasjonsmodus.

Under VBA-koden gjør akkurat det:

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 As Shape, shp1 As Shape, shpTxt As Shape

Dim diagramPlaceholder As Shape, timeShape As Shape, slideNumber As Long

«Få plassholderformer, skjul ChartPlaceholder

slideNumber = 1

Sett chartPlaceholder = ActivePresentation.Slides(slideNumber).Shapes("ChartPlaceholder"): chartPlaceholder.Visible = msoFalse

Sett timeShape = ActivePresentation.Slides(slideNumber).Shapes("TimeStamp")

 

'Start presentasjonen!

ActivePresentation.SlideShowSettings.Run

 

'Oppdater kartet og sett tidsstempel

Sett shp = CopyChartFromExcelToPPT(ActivePresentation.Path & «\Test.xlsx», «Sheet1», «Chart 1», slideNumber, chartPlaceholder.Left, chartPlaceholder.Top, chartPlaceholder.Width, chartPlaceholder.Height)

timeShape.TextFrame.TextRange.Text = Format(Nå(), «ÅÅÅÅ-MM-DD TT:MM»)

DoEvents

Sov 1000

For i = 0 til 3

'Oppdater diagrammet, slett gammel form og sett tidsstempel

Sett shp1 = CopyChartFromExcelToPPT(ActivePresentation.Path & «\Test.xlsx», «Sheet1», «Chart 1», slideNumber, chartPlaceholder.Left, chartPlaceholder.Top, chartPlaceholder.Width, chartPlaceholder.Height)

shp.Slett: Sett shp = shp1

timeShape.TextFrame.TextRange.Text = Format(Nå(), «ÅÅÅÅ-MM-DD TT:MM»)

'Sov i 1 sekund

DoEvents

Sov 1000

Neste jeg

'Slutt på presentasjonen!

ActivePresentation.SlideShowWindow.View.Exit

'Slett diagrammet og gjør ChartPlaceholder synlig igjen

shp.Slett

chartPlaceholder.Visible = msoTrue

End Sub

Bruk tilfeller for dynamiske diagrammer i PowerPoint

For oss en måte å animer Excel-diagrammer i PowerPoint introduserer en ny palett med alternativer for ytterligere å flytte grensene for hva vi kan gjøre med PowerPoint. Nedenfor er en kort liste over ideer som kan hjelpe deg å forestille deg hvor nyttig det kan være:

  1. Lag en dynamisk Office-presentasjon med automatisk oppdatering av diagrammer fra flere Excel-filer.
  2. Lag en knapp for å manuelt oppdatere ett eller alle diagrammene i PowerPoint-kortstokken.
  3. Lag en enkel måte å koble PowerPoint-diagrammene dine til Excel-filer som kan flytte (for eksempel lenke til Excel-filer i samme katalog).

Velg mellom dynamiske tabeller og diagrammer i PowerPoint

Du kan fortsatt bruke det nye grafikkobjektet til å vise sanntidsgrafikk på lysbildene dine. Men du vil se et dataark som blinker hver gang DataPoint åpne datainnholdet i diagrammet. For nettpresentasjoner, eller med andre ord, når du kjører en PowerPoint-lysbildeserie på en dedikert datamaskin eller TV-skjerm for publikum, og du vil unngå å se det regnearket, må du bruke den "eldre" grafikken.

Kanskje du vil vite: Slik bruker du VBA i PowerPoint: En nybegynnerveiledning

Slik setter du inn en grafikk på lysbildet ditt

Med den nyeste versjonen av DataPoint klikker du bare for å åpne menyen sett av PowerPoint-en din. På slutten av de originale knappene finner du en ny gruppe med Datapunkter med en knapp Grafisk. Når du er på et lysbilde, klikker du bare på knappen Grafisk og det vil sette inn et nytt standard kartobjekt for deg. Dette oppfører seg som det nye alternativet Sett inn > Diagram.

Sett inn et diagram på lysbildet ditt

Når du har satt opp en datatilkobling til en datakilde du ønsker og valgt dette diagramobjektet, klikker du Datapunkt og deretter på knappen Grafisk for å tildele datatilkoblingsdataene til denne diagram/graf.

Sett inn et diagram på lysbildet ditt

Dette diagramobjektet kan perfekt brukes i lysbildefremvisningen vise sanntidsinformasjon som en graf stolpe eller sirkulær. Men den største fordelen er at du ikke vil se et dataark med informasjonen din blinkende på skjermen.

Sett inn et diagram på lysbildet ditt

Når du redigerer grafen

Hver gang du klikker for å redigere et diagramobjekt, vil PowerPoint fortelle deg følgende: 'For å redigere diagrammet ditt ved å bruke de nyeste PowerPoint-funksjonene, må du konvertere det til det nyere formatet'. Velge Rediger eksisterende her for å fortsette å bruke objektet Microsoft Graph.

Rediger diagrammet

PowerPoint vil spørre deg om dette hver gang. Hvis du synes dette er irriterende og vil fortsette å bruke grafikk, kan du kanskje deaktivere dette spørsmålet. For å gjøre dette, gå til registeret og legg til en ny nøkkel (DWORD) kalt MSGraphEnable til denne banen nedenfor, og sett verdien til 1.

\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Charting

Verdien 16,0 her representerer versjonen av PowerPoint 2016. Bruk 15,0 for PowerPoint 2013 og 14,0 for PowerPoint 2010.

Hvordan lage en dynamisk presentasjon

Hvis du har en presentasjon med noen få diagrammer og rapporter, vet du aldri hvor ofte du trenger å oppdatere den. Lag for eksempel en kvartalsvis resultatrapport og motta nye data hver time. I dette tilfellet, i stedet for PowerPoint-tabeller og diagrammer, er det bedre bygge inn et excel-objekt. Informasjonen oppdateres automatisk etter oppdateringer i Excel-tabellen.

Lag en dynamisk presentasjon

For å lage et lysbilde i PowerPoint-presentasjonen med automatisk oppdaterte data, gjør følgende:

Trinn 1: Velg et diagram eller en tabell i Excel som du vil legge til i presentasjonen, og gjør ett av følgende:

  1. Klikk på Ctrl + C.
  2. Tab innvielse, i gruppen utklippstavlen, klikk på knappen kopi.

Lag en dynamisk presentasjon

  1. Høyreklikk på det valgte objektet og velg deretter kopi fra hurtigmenyen.

Trinn 2: Åpne presentasjonslysbildet der du vil sette inn objektet Excel og deretter i fanen innvielse, i gruppen utklippstavlen, velg alternativet fra rullegardinlisten Catch.

  • 1. Hvis du prøver å lime inn en graf.

Lag en dynamisk presentasjon

Fra listen innlimingsalternativer velger du:

  • Bruk måltema og lenkedata.
  • Oppretthold kildeformat og koblingsdata.

Use Target Theme vil ta i bruk fargene, skriftene og effektene av temaet til målpresentasjonen du limer inn i. Kildefargene vil bli endret, kilder og effekter. Bevar kildeformatering vil opprettholde temafargene, skriftene og effektene til presentasjonen du kopierer fra. Alle farger, fonter og effekter vil være de samme som i kildearbeidsboken.

Koble data Dette er hva du vil bruke hvis du vil at informasjonen i diagrammet eller regnearket skal oppdateres automatisk når kildedataene oppdateres. En kobling opprettes til originalen, og endringer i kilden vil gjøre endringer i måldokumentet.

¡forsiktighet! Fordi denne metoden oppretter en kobling til et spesifikt Excel-regneark, vil du ikke kunne oppdatere diagrammet hvis du flytter eller sletter kildefilen.

Lag dynamiske presentasjoner

 2.2.  Hvis du ønsker å sette inn en tabell, klikk på Lim inn spesial:

Lag dynamiske presentasjoner

Merk: Alle andre limalternativer oppretter ikke en kobling til kildefilen, så eventuelle endringer i Excel-tabellen oppdaterer ikke tabellen i PowerPoint.

I dialogboksen Spesielt lim, merk av i avmerkingsboksen Lim inn lenke og klikk aksepterer:

Lag dynamiske presentasjoner

Nå, hvis du endrer noe i diagrammet eller tabellen, vil du se endringene i PowerPoint-presentasjonen:

Lag dynamiske presentasjoner

Andre alternativer for å lime inn et Excel-diagram:

  • Bruk måltema og bygg inn arbeidsbok.
  • Oppretthold kildeformatet og bygg inn arbeidsboken.

Bygg inn arbeidsbok vil lage en kopi av dataene og legge dem inn i måldokumentet. Fremtidige endringer i fonten vil ikke gjenspeiles. Du kan endre diagrammet manuelt ved å dobbeltklikke på det og gjøre endringer i miniregnearket som åpnes i måldokumentet.

Endringer du gjør i måldokumentet vil heller ikke påvirke kildedataene. Å bygge inn grafen og kildedataene dine er nyttig for å dele dokumenter mellom seerens datamaskin og din egen.

Du kan imidlertid lage veldig store filer. Kildefilobjektet vil vises som et bilde. Enhver endring av fonten endrer ikke dette bildet. Du kan deretter redigere bildet som alle andre, men du vil ikke kunne endre eller åpne kildedataene eller endre grafen.

Se på: Slik bruker du laserpekeren i Powerpoint (grønn, rød og blå)

Siste tanker

Klar, du vet nå hvordan du jobber med dynamisk grafikk i PowerPoint. Vi er sikre på at den nye formen for grafer som ble introdusert i PowerPoint og som Microsoft utviklet for de nyere versjonene av PowerPoint er mye bedre for oss alle, sammenlignet med det eldre Microsoft Graph-objektet. Men som vi har lært, er oppdatering av dataarket uten å blinke dataarket teknisk umulig akkurat nå og forårsaker korrupsjon. Vi håper at denne opplæringen har vært nyttig for deg og at du besøker oss igjen.

  Hvordan lage en trifold i Word. 2 enkle måter