Avatar billede Lysral Nybegynder
10. januar 2014 - 09:44 Der er 10 kommentarer og
1 løsning

Powerpoint - makro til at slette en linje i tabel på 53 sider

Jeg har et PowerPoint hvor der er ca. 50 sider, på hver side ligger der en tabel med 4 rækker.

Kan der laves en makro som kopier række 2 og 3 til række 3 og 4 og derefter sletter række 1?

Jeg havde håbet på at man kunne "indspille" det ligesom man kan i Excel.
Avatar billede supertekst Ekspert
10. januar 2014 - 14:04 #1
Det kan sikkert lade sig gøre via direkte skrivning af VBA-kode
Avatar billede Lysral Nybegynder
13. januar 2014 - 08:35 #2
Herligt, er det noget du kan finde ud af?
Avatar billede supertekst Ekspert
13. januar 2014 - 09:08 #3
Måske..
Avatar billede Lysral Nybegynder
13. januar 2014 - 12:22 #4
skal jeg lægge et eksempel op som du kan se på?
Avatar billede supertekst Ekspert
13. januar 2014 - 13:29 #5
Der kommer måske nogen, der har bedre tid..
Avatar billede supertekst Ekspert
13. januar 2014 - 18:08 #6
Rem VBA-koden er placeret i en Excel-fil med en reference til PowerPoint
Public pp As Object, systemSti As String
Public Sub justerPP()
    systemSti = ActiveWorkbook.Path + "\"

    Set pp = CreateObject("PowerPoint.Application")
    With pp
        .Visible = True
        .Presentations.Open Filename:=systemSti & "pp_test.pptx"    'ændres
    End With
   
    antal = pp.ActivePresentation.Slides.Count
   
    For f = 1 To antal
Rem flyt 3 til 4
        indhold = pp.ActivePresentation.Slides(f).Shapes(1).Table.Cell(3, 1).Shape.TextFrame.TextRange.Text
        pp.ActivePresentation.Slides(f).Shapes(1).Table.Cell(4, 1).Shape.TextFrame.TextRange.Text = indhold
   
Rem flyt 2 til 3
        indhold = pp.ActivePresentation.Slides(f).Shapes(1).Table.Cell(2, 1).Shape.TextFrame.TextRange.Text
        pp.ActivePresentation.Slides(f).Shapes(1).Table.Cell(3, 1).Shape.TextFrame.TextRange.Text = indhold
   
        pp.ActivePresentation.Slides(f).Shapes(1).Table.Cell(2, 1).Shape.TextFrame.TextRange.Text = ""
   
Rem slet række 1
        pp.ActivePresentation.Slides(f).Shapes(1).Table.Rows(1).Delete
    Next f
   
    pp.ActivePresentation.Save
    pp.ActivePresentation.Close
    Set pp = Nothing
End Sub
Avatar billede Lysral Nybegynder
15. januar 2014 - 08:33 #7
Hej

Den melder fejl på denne linje

systemSti = ActiveWorkbook.Path + "/"
Avatar billede supertekst Ekspert
15. januar 2014 - 08:52 #8
Hej

Er der sat reference til PowerPoint fra Excel-filen?
Avatar billede Lysral Nybegynder
17. januar 2014 - 06:36 #9
Hej

Nej - koden er lagt direkte i PowerPoint filen, data er tastet direkte i tabel i PowerPoint.
Det kommer ikke fra et Excel ark.

Jeg har sat filnavnet ind i den lilje du har skrevet ændres ud for.
Avatar billede supertekst Ekspert
17. januar 2014 - 08:17 #10
Hej

I min model har jeg lagt koden i et Excel ark
For at får fat i powerpoint er der en reference (Alt+F11 Tools  - References)
I powerpoint har jeg oprettet et antal dias og heri er tabellerne
Avatar billede Lysral Nybegynder
30. januar 2014 - 06:30 #11
Hej supertekst

1000 tak for hjælpen

/Lars
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester