CopyMethode
30.03.2020 14:35:44
HerrVorragend
Ich filtere aus einem Datensatz mit der AutoFilter-Methode Daten nach verschiedenen Kriterien. Jeden gefilterten Bereich möchte ich mit der CopyMethode kopieren und in ein Word-Dokument an sowie auf eine PP-Slide einfügen. Das kopieren und einfügen in der Worddatei, sowie auf die PP-Slide klappt auch.
Problem ist, dass ich pro Word-Seite und PP-Slide jeweils nur 10 Zeile vom jeweils gefilterten Bereich kopieren möchte. Besteht der gefilterte Bereich aus mehr Zeilen, soll er auf der nächsten Seite eingefügt werden. Zusätzlich soll jeder neu gefilterte Bereich auf einer neuen Seite beginnen. An der Umsetzung hänge ich leider und hoffe, dass mir jemand weiterhelfen kann.
Hier der Ausschnitt aus meinem Code (am beispiel für die PP-Slides):
Sub
For y = 1 To 8
Set Filter = Sheets("Export Arbeitspakete").Range("TabExportAP")
Filter.AutoFilter Field:=2, Criteria1:=y 'Schleife einbauen für Kriterium, dann wird Range nach Autofilter kopiert
Set ppTLayout = oPPT.ActivePresentation.Slides(2).CustomLayout ' definiert die Form der Folie, in welcher die nächste eingefügt werden soll
Set oSlide = oPPT.ActivePresentation.Slides.AddSlide(i, ppTLayout) ' um neue Folie hinzuzufügen
'Tabellen werden eingefügt , in diesem Bereich max. 10 Zeilen pro Seite
Set oSlide = oPPT.ActivePresentation.Slides(i) 'Foliennummer wird ausgewählt
Sheets("Export Arbeitspakete").Range("TabExportAP").Copy
oSlide.Shapes.Paste 'Bereich wird auf ausgewählter Folie eingefügt
Filter.AutoFilter Field:=1
'End If
'Folienüberschriften werden generiert
Set oSlide = oPPT.ActivePresentation.Slides(i)
oSlide.Shapes("Titel 1").TextFrame.TextRange.Text = Sheets("Export Inhaltsverzeichnis").Cells(i, 3).Value
i = i + 1
Next
End Sub
Vielen Dank im Voraus,
beste Hrüße und bleibt gesund!