Excelistä powerpointtiin makro

Kalevi5

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ä?

4

177

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

      • Kalevi5

        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?


      • 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


    • 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

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tiedätkö, että haluaisin panna

      Sinua. Onko sinulla samanlaiset ajatukset ja tunteet?
      Ikävä
      161
      2810
    2. Se oli siinä sitten

      Yhdysvaltain presidentti Donald Trump on määrännyt kaiken maan Ukrainalle toimittaman sotilaallisen tuen tauolle, kertoo
      NATO
      726
      2460
    3. Paljonko aikaa on kulunut siitä kun viimeksi tapasit hänet?

      Päiviä? Viikkoja? Kuukausia? Vuosia?
      Ikävä
      53
      2364
    4. Mikä sinua ja kaivattuasi

      Yhdistää?
      Ikävä
      135
      2220
    5. Ajelen varmaan siellä suunnalla

      taas yöllä, vahingossa käyn sun pihalla. 😏 m
      Ikävä
      63
      1905
    6. Trump tekee rauhan Amerikan ja Venäjän ehdoilla

      Ukraina luovuttaa Venäjän haluamat alueet Venäjälle. Ukraina luovuttaa Amerikan haluamat arvokkaat mineraalit Amerikall
      Maailman menoa
      248
      1734
    7. Hyväksytty kaivattusi

      Vartaloa vai et? Rehellinen vastaus
      Ikävä
      31
      1391
    8. Syvälliset keskustelut

      Olisivat tärkeintä ensisijaisesti hänen kanssaan Tulisi sellainen hetki, mutta kaikki meni pieleen
      Ikävä
      20
      1329
    9. Minulta loppuu aika

      Halusin olla täydellinen. Nyt näyttää siltä että viimeinen kiristys jää puolitiehen, sillä h-hetki on jo ihan kohta käsi
      Ikävä
      31
      1222
    10. Olisipa sitä henkisesti eheämpi ja rohkeampi

      mikään maallinen mammona ei itseäni kiinnosta, eikä sen menetys kiinnostus. Mutta kun kohtaa jonkun sykäyttävän ihmisen,
      Ikävä
      16
      1215
    Aihe