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ä?
Excelistä powerpointtiin makro
4
211
Vastaukset
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
Vihamielisyys naisia kohtaan on jo yllättävän suuri ongelma
Esiintyy laajemmassa mittakaavassa, mitä vain tällä palstalla. Mistä tuo ilmiö nyt oikein johtuu, ja saa alkuvoimansa?5662615Odotan sitä hetkeä
kun nähdään taas. Tiedän, että sinäkin odotat. Kun se päivä koittaa, katseesi hakee minua. Ehkä arkailemme toisiamme väh671416Olen melko vakuuttunut
etten tule olemaan koskaan täysin onnellinen ilman sinua. En uskonut, että näin kävisi kenenkään kanssa. Kunnes sain kok831350- 981327
- 1371228
- 1051128
Postimerkki kirjeeseen ja kortiin maksaa jo 3 euroa!
https://yle.fi/a/74-20229241 Kyllä tämä on järjetön hinta, Posti tuhoaa itsensä tällä hinnalla, täytyyhän Postin "Herro1341004- 48910
- 74864
- 47861