Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: In Excel über VBA in Powerpoint Abschnitte löschen

In Excel über VBA in Powerpoint Abschnitte löschen
07.03.2016 10:34:43
Matthias
Hallo liebe Community,
ich arbeite mit Office 2010 und habe folgendes Problem:
Ich habe eine Excelmappe, in der ich für die Unternehmensbereiche A, B und C Auswertungen vornehme und dann die Daten (Tabellen als auch Grafiken) über VBA in eine PowerPoint kopiere. Nun möchte ich aus dieser PowerPoint für jeden Unternehmensbereich eine separate Präsentation ableiten. Der Programmablauf stellt sich wie folgt dar:
01) Starten des Makros aus Excel
02) Öffnen der Originalpowerpoint
03) Löschen der Folien für die Bereiche B und C
04) Abspeichern der PowerPoint für den Bereich A
05) Schließen der Präsentation
06) Öffnen der Originalpowerpoint
07) Löschen der Folien für die Bereiche A und C
08) Abspeichern der PowerPoint für den Bereich B
09) Schließen der Präsentation
10) Öffnen der Originalpowerpoint
11) Löschen der Folien für die Bereiche A und B
12) Abspeichern der PowerPoint für den Bereich C
13) Schließen der Präsentation
Das Löschen der jeweiligen Folien eines Unternehmensbereiches habe ich über eine Schleife gelöst. (Zieldatei ist als Object deklariert und ist die PowerPoint.) Das Makro löscht hier die Folien 10 bis 19.
For Zähler = 1 To 10
Zieldatei.slides(10).Delete
Next Zähler

Jetzt zu meinem Problem. Da sich die Folienanzahl je Unternehmensbereich durchaus von Auswertung zu Auswertung unterscheiden kann, möchte ich gerne die Unternehmensbereiche A bis C in Abschnitte bündeln, um dann die Abschnitte zu löschen. Wie kriege ich nun den Abschnitt in PowerPoint angesprochen bzw. gelöscht? Oder gibt es noch eine clevere Lösung für mein Problem?
Für Rückfragen stehe gerne zur Verfügung.
Viele Grüße
Matthias

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PowerPoint - Abschnitte - Sections...
07.03.2016 13:48:43
Matthias
Hallo Case,
vielen Dank. Schaue ich mir gleich mal an.
Gruß
Matthias

Lösung
07.03.2016 15:05:47
Matthias
Hier meine Lösung:
Dim Zieldatei as Object 'Zieldatei ist die PowerPoint
Zieldatei.SectionProperties.Delete 15, True '15 ist die fortlaufende Nummer des Abschnittes und True besagt, dass die Folien innerhalb dieses Abschnittes auch gelöscht werden sollen.
Viel Spaß damit.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Abschnitte in PowerPoint über VBA von Excel löschen


Schritt-für-Schritt-Anleitung

Um Abschnitte in PowerPoint über VBA aus Excel zu löschen, kannst Du folgende Schritte durchführen:

  1. Öffne Deine Excel-Datei und erstelle ein neues Makro.
  2. Deklariere die PowerPoint-Objekte:
    Dim pptApp As Object
    Dim Zieldatei As Object
    Set pptApp = CreateObject("PowerPoint.Application")
    Set Zieldatei = pptApp.Presentations.Open("Pfad\zur\deiner\Präsentation.pptx")
  3. Lösche die gewünschten Abschnitte. Hierbei ist es wichtig, die Nummer des Abschnittes zu kennen:
    Zieldatei.SectionProperties.Delete 1, True ' 1 ist die Nummer des Abschnitts, True löscht die Folien im Abschnitt
  4. Speichere die Änderungen:
    Zieldatei.Save
  5. Schließe die PowerPoint-Präsentation:
    Zieldatei.Close
    pptApp.Quit
  6. Führe das Makro aus und beobachte, wie die Abschnitte gelöscht werden.

Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Lösung: Überprüfe, ob der Pfad zur PowerPoint-Datei korrekt ist. Stelle sicher, dass die Datei existiert und nicht von einer anderen Anwendung geöffnet ist.
  • Problem beim Löschen von Abschnitten

    • Lösung: Stelle sicher, dass die Abschnittsnummer korrekt ist. Verwende Zieldatei.SectionProperties.Count, um die Anzahl der Abschnitte zu ermitteln.

Alternative Methoden

Falls Du eine andere Methode bevorzugst, kannst Du auch die PowerPoint-Benutzeroberfläche nutzen, um Abschnitte manuell zu löschen:

  1. Öffne die PowerPoint-Präsentation.
  2. Gehe zu "Ansicht" > "Folienmaster".
  3. Klicke auf den Abschnitt, den Du löschen möchtest.
  4. Rechtsklick und wähle "Abschnitt löschen".

Diese Methode ist nützlich, wenn Du nicht mit VBA arbeiten möchtest.


Praktische Beispiele

Hier ist ein einfaches Beispiel, um alle Abschnitte in einer PowerPoint-Präsentation zu löschen:

Dim Zieldatei As Object
Set Zieldatei = pptApp.Presentations.Open("Pfad\zur\deiner\Präsentation.pptx")

Dim i As Integer
For i = Zieldatei.SectionProperties.Count To 1 Step -1
    Zieldatei.SectionProperties.Delete i, True
Next i

Zieldatei.Save
Zieldatei.Close
pptApp.Quit

Dieses Skript löscht alle Abschnitte in der angegebenen Präsentation.


Tipps für Profis

  • Verwende Error Handling: Füge Error-Handling in Dein VBA-Skript ein, um unerwartete Fehler elegant zu handhaben.
  • Teste in einer Kopie: Arbeite immer mit einer Kopie Deiner PowerPoint-Datei, um Datenverlust zu vermeiden.
  • Nutze Variablen: Wenn Du mehrere Präsentationen bearbeitest, speichere die Pfade in Variablen für eine einfachere Verwaltung.

FAQ: Häufige Fragen

1. Wie lösche ich eine Folie bei PowerPoint? Um eine Folie in PowerPoint zu löschen, kannst Du den Befehl Zieldatei.Slides(1).Delete verwenden, wobei 1 die Foliennummer ist.

2. Wie kann ich Abschnitte in PowerPoint hinzufügen? Du kannst einen neuen Abschnitt mit dem Befehl Zieldatei.SectionProperties.Add einfügen, gefolgt von der Foliennummer, ab der der Abschnitt beginnen soll.

3. Was passiert mit den Folien, wenn ich einen Abschnitt lösche? Wenn Du True beim Löschen eines Abschnitts angibst, werden auch alle Folien innerhalb dieses Abschnitts gelöscht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige