CopyMethode
06.04.2020 14:59:33
HerrVorragend
nochmal eine Frage zur Copy-Methode kombiniert mit der Autofilter-Funktion in Excel. Ich filtere auf einem Excel-Sheet Daten nach verschiedenen Kriterien (bei mir Zahlen) und kopiere den gefilterten Bereich mit der Copy-Methode. Den kopierten Bereich füge ich dann in einem Word-Dokument ein (wird durch eine Textmarke angesprochen) und auf eine Slide in einer PowerPoint Präsentation (das klappt bisher gut!). Problem ist, dass ich max. 10 Zeilen pro Seite/Slide kopiert haben und den Rest vom gefilterten Bereich (wenn >10 Zeilen) auf die nächste Seite/Slide eingefügt haben möchte. Wichtig ist dabei, dass die Anwendung aus Excel heraus passiert. Hier mein bisheriger Code am Bsp. für die Erstellung der PP aus Excel heraus:
Sub Copy ()
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
'Hier max. 10 Zeilen des gefilterten Bereichs kopieren
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 für Eure Hilfe und beste Grüße