Excelistä powerpointtiin makro

Onko kellään tietoa, miten excelistä saisi automaattisesti siirrettyä makrolla tiettyyn ppt-esitykseen, tiettyihin slideihin kuvaajia ja tekstiä soluista? Yritin netistä etsiä tietoa - mahdollista taitaa olla, mutta ei taidot riitä. Olisiko kenelläkään esimerkki koodinpätkää tästä?
4217
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

kyllähän toi onnistuu, mutta tarvitsee tietää onko kaaviot upotettu taulukkoon vaiko omana taulukkona ja sitten lisätäänkö Powerpointissa uuteen diaan vaiko olemassa olevaan ja mihin kohtaan (objektiin) tekstit liitetään jne...
eli kyssäreitä riittää ja vaatii kyllä mielellään koko powerpoint esityksen malliksi
mutta teepä lisää hakuja ja tee pala palalta ettiäpäin...

Keep EXCELing
@Kunde

Äänestä
  • Lisätään PowerPointissa olemassa olevaan diaan. Ja excelissä kaaviot ovat omana taulukkona, linkkejä ei tarvita, eli tämähän voisi mennä kuvana? Yksinkertaisuudessaan siis excelistä sheetiltä 1, chart 1, powerpointtiin slidelle 26 ja chartin viereen tekstiä pari ranskalaista viivaa excelin soluista A1 ja A2. Ilmeisesti myös referenssit täytyy avata Vba:sta?

    Äänestä

  • Kalevi5 kirjoitti:

    Lisätään PowerPointissa olemassa olevaan diaan. Ja excelissä kaaviot ovat omana taulukkona, linkkejä ei tarvita, eli tämähän voisi mennä kuvana? Yksinkertaisuudessaan siis excelistä sheetiltä 1, chart 1, powerpointtiin slidelle 26 ja chartin viereen tekstiä pari ranskalaista viivaa excelin soluista A1 ja A2. Ilmeisesti myös referenssit täytyy avata Vba:sta?

    tossa tommonen perusjutska...
    helppo sitä fiksata

    Sub ChartToPresentation()
    ' muista referenssi Powerpointiin...
    'tarkista nimet
    Dim PPApp As PowerPoint.Application
    Dim PPPres As PowerPoint.Presentation
    Dim PPSlide As PowerPoint.Slide
    Dim PPShape As PowerPoint.Shape
    Dim Teksti1 As String
    Dim Teksti2 As String
    Sheets(1).ChartObjects("Chart 1").Activate
    Teksti1 = Sheets(1).Range("A1")
    Teksti2 = Sheets(1).Range("A2")
    Set PPApp = GetObject(, "Powerpoint.Application")
    Set PPPres = PPApp.ActivePresentation
    PPApp.ActiveWindow.ViewType = ppViewSlide
    PPApp.ActiveWindow.View.GotoSlide 26
    Set PPSlide = PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)
    PPSlide.Delete
    Set PPSlide = PPPres.Slides.Add(2, ppLayoutBlank)
    PPApp.ActiveWindow.View.GotoSlide 2
    ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture
    PPSlide.Shapes.Paste.Select
    PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
    PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True

    Set PPShape = PPSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10#, 250#, 400#, 36#)
    PPShape.TextFrame.TextRange.Text = "- " & Teksti1

    Set PPShape = PPSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10#, 280#, 400#, 36#)
    PPShape.TextFrame.TextRange.Text = "- " & Teksti2
    Set PPSlide = Nothing
    Set PPPres = Nothing
    Set PPApp = Nothing
    End Sub


    Keep EXCELing
    @Kunde

    Äänestä

korjaa noi rivit koodissa, mulla oli vaan 3 diaa ja siksi unohdin fiksata ne tohon mallikoodiin...

Set PPSlide = PPPres.Slides.Add(2, ppLayoutBlank)
PPApp.ActiveWindow.View.GotoSlide 2

mutta ne
Set PPSlide = PPPres.Slides.Add(26, ppLayoutBlank)
PPApp.ActiveWindow.View.GotoSlide 26

Keep EXCELing
@Kunde

Äänestä

Kommentoi aloitusta


Kalevi5 kirjoitti:

Onko kellään tietoa, miten excelistä saisi automaattisesti siirrettyä makrolla tiettyyn ppt-esitykseen, tiettyihin slideihin kuvaajia ja tekstiä soluista? Yritin netistä etsiä tietoa - mahdollista taitaa olla, mutta ei taidot riitä. Olisiko kenelläkään esimerkki koodinpätkää tästä?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu