Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Powerpoint Excel Verknüpfung aufheben Makro / VBA

Powerpoint Excel Verknüpfung aufheben Makro / VBA
29.06.2018 13:46:49
Hanna
Hallo,
ich habe mehrere Excel-Verknüpfungen in Powerpoint, die ich gerne alle über ein Makro löschen möchte, um die Präsentation anderen bereitzustellen. Leider bin ich mit VBA nicht so vertraut, als dass ich es selbst schreiben könnte bzw. schnell eine Lösung finden würde.
Kann mir bitte hierbei ein schlauer Kopf helfen? Das wäre super.
Beste Grüße
Hanna
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Powerpoint Excel Verknüpfung aufheben Makro / VBA
29.06.2018 15:24:08
Rob
Hi Hanna,
solche Dinge kann man gut mit einer Google-Suche in Erfahrung bringen ;-) - Probier es mal mit folgendem Makro:

Sub BreakAllExcelLinks()
'PURPOSE: Break any external links in your PowerPoint presentation
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
Dim shp As Shape
Dim sld As Slide
'Loop Through Each Slide in ActivePresentation
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
On Error Resume Next
shp.LinkFormat.BreakLink
On Error GoTo 0
Next shp
Next sld
End Sub

Anzeige
AW: Powerpoint Excel Verknüpfung aufheben Makro
29.06.2018 15:41:14
Hanna
Glaube mir, ich habe gesucht. Scheinbar nicht ganz richtig. ;)
Dennoch:
Vielen Dank für deine schnelle Hilfe! Klappt super.
Wenn ich noch eine Frage/Aufgabe stellen dürfte:
Die vielen Verknüpfungen haben ein und die selbe Datenquelle und ich möchte die Datenquelle für alle Verknüpfungen über ein Makro aktualisieren. Dafür habe ich auch schon etwas gefunden:
https://www.herber.de/forum/archiv/1176to1180/1179961_Excel_Powerpoint_Verknuepfung_Pfad_aendern.html
Allerdings ist die Laufzeit sehr lang, wenn es überhaupt durchläuft. Ich bin mir nicht sicher, ob dies nicht noch "schneller" gehen würde. Das Makro fürs Löschen der Verknüpfungen läuft sekundenschnell durch. Hat einer der Genies eine Vermutung bzw. eine Idee? :)
Ein schönes Wochenende und Danke für die Hilfe!
Anzeige
AW: Powerpoint Excel Verknüpfung aufheben Makro
29.06.2018 19:53:26
Rob
Am besten über Google suchen und immer VBA als erstes Stichwort eingeben. Habe den Code gleich bei der ersten Suche gefunden. :-)
Zu Deiner zweiten Frage; wie willst Du den Quellpfad aktualisieren? Auch über eine Inputbox? Oder ist das eine fixe Adresse?
AW: Powerpoint Excel Verknüpfung aufheben Makro
29.06.2018 20:02:02
Rob
Mit dem Code kannst Du die Verbindungen aktualisieren, allerdings muss sowohl die PPT als auch die Excel-Datei geöffnet sein:

Sub updatelinks()
Dim sld As Slide, shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
On Error Resume Next
shp.LinkFormat.Update
Next
Next
End Sub

Anzeige
AW: Powerpoint Excel Verknüpfung aufheben Makro
02.07.2018 15:20:13
Hanna
Es ist eine fixe Adresse. Leider funktioniert der letzte Code nicht. :(
AW: Powerpoint Excel Verknüpfung aufheben Makro
02.07.2018 16:31:13
Rob
Der Code open ist tatsächlich nur dafür gut, bestehende Links zu aktualisieren. Da Du sie aber über die BreakLink-Methode rausgenommen, geht das natürlich nicht.
Versuch es mal mit nachfolgendem Code -> newFilePath entsprechend anpassen

Sub EditPowerPointLinks()
Dim newFilePath As String
Dim pptPresentation As Presentation
Dim pptSlide As Slide
Dim pptShape As Shape
'file path as a string
newFilePath = "String of\New File Path\Excel File 2.xlsx"
'Set the variable to the PowerPoint Presentation
Set pptPresentation = ActivePresentation
'Loop through each slide in the presentation
For Each pptSlide In pptPresentation.Slides
'Loop through each shape in each slide
For Each pptShape In pptSlide.Shapes
'Link the object or picture
pptShape.LinkFormat.SourceFullName = newFilePath
Next
Next
'Update the links
pptPresentation.UpdateLinks
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Powerpoint Excel Verknüpfungen aufheben und ändern mit VBA


Schritt-für-Schritt-Anleitung

Um alle Excel-Verknüpfungen in Powerpoint zu löschen, kannst Du das folgende Makro verwenden. Dieses VBA-Skript durchläuft alle Folien Deiner Präsentation und bricht die Links zu Excel-Datenquellen.

Sub BreakAllExcelLinks()
'PURPOSE: Break any external links in your PowerPoint presentation
Dim shp As Shape
Dim sld As Slide
'Loop Through Each Slide in ActivePresentation
For Each sld In ActivePresentation.Slides
    For Each shp In sld.Shapes
        On Error Resume Next
        shp.LinkFormat.BreakLink
        On Error GoTo 0
    Next shp
Next sld
End Sub

Um dieses Makro auszuführen, öffne den VBA-Editor in Powerpoint (Alt + F11), füge ein neues Modul ein (Einfügen > Modul) und kopiere den Code dort hinein. Danach kannst Du es ausführen.

Wenn Du die Quelle aller Verknüpfungen ändern möchtest, kannst Du den folgenden Code verwenden. Achte darauf, den newFilePath entsprechend anzupassen:

Sub EditPowerPointLinks()
Dim newFilePath As String
Dim pptPresentation As Presentation
Dim pptSlide As Slide
Dim pptShape As Shape
'file path as a string
newFilePath = "String of\New File Path\Excel File 2.xlsx"
'Set the variable to the PowerPoint Presentation
Set pptPresentation = ActivePresentation
'Loop through each slide in the presentation
For Each pptSlide In pptPresentation.Slides
    For Each pptShape In pptSlide.Shapes
        pptShape.LinkFormat.SourceFullName = newFilePath
    Next
Next
'Update the links
pptPresentation.UpdateLinks
End Sub

Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt.

    • Stelle sicher, dass Du die Makros in Powerpoint aktiviert hast. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen und aktiviere die entsprechenden Optionen.
  • Fehler: Verknüpfungen werden nicht gelöscht.

    • Überprüfe, ob die Shapes in der Präsentation tatsächlich Links zu Excel haben. Manchmal können Formen ohne Links vorhanden sein.

Alternative Methoden

Wenn Du kein Makro verwenden möchtest, kannst Du auch manuell alle Verknüpfungen in Powerpoint entfernen:

  1. Gehe zu Daten in Powerpoint.
  2. Wähle Verknüpfungen aus.
  3. Hier kannst Du jede einzelne Verknüpfung auswählen und auf Verknüpfung löschen klicken.

Diese Methode ist jedoch zeitaufwändiger, besonders wenn Du viele Verknüpfungen hast.


Praktische Beispiele

  • Alle Verknüpfungen löschen: Verwende das erste Makro, um alle Excel-Verknüpfungen in Deiner Präsentation zu entfernen, bevor Du sie mit anderen teilst.

  • Verknüpfung aufheben: Wenn Du ein Excel-Diagramm in Powerpoint eingefügt hast und die Verknüpfung aufheben möchtest, nutze das BreakAllExcelLinks Makro, um sicherzustellen, dass die Präsentation unabhängig von der Excel-Datei funktioniert.


Tipps für Profis

  • Halte Deine Makros gut organisiert, indem Du sie in verschiedenen Modulen oder sogar in einer separaten Datei speicherst.
  • Nutze Kommentare im VBA-Code, um den Überblick zu behalten, was jede Funktion macht.
  • Teste Deine Makros in einer Kopie Deiner Präsentation, um unbeabsichtigte Änderungen an wichtigen Dateien zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich alle Verknüpfungen in Powerpoint löschen?
Verwende das BreakAllExcelLinks Makro, um alle Excel-Verknüpfungen in Deiner Präsentation schnell zu löschen.

2. Kann ich die Verknüpfungen auch manuell löschen?
Ja, Du kannst die Verknüpfungen manuell über das Menü "Daten" > "Verknüpfungen" in Powerpoint entfernen.

3. Was mache ich, wenn das Makro nicht funktioniert?
Überprüfe die Makroeinstellungen in Powerpoint und stelle sicher, dass die Shapes tatsächlich Links zu Excel haben.

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