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

Werte aus Powerpoint charts auslesen

Forumthread: Werte aus Powerpoint charts auslesen

Werte aus Powerpoint charts auslesen
Christian
Hallo zusammen,
ich müsste aus Powerpointfolien die in den Tabellen hinterlegten Werte der Charts in Excel einlesen.
Weiss jemand ob und wenn ja wie ich aus heraus Excel mit VBA auf diese Tabellen zugreifen kann?
Einfach diese PP Tabellen kopieren und in ein Tabellenblatt einfügen.
Vielen Dank und viele Grüße!
Chris
Anzeige
AW: Werte aus Powerpoint charts auslesen
01.04.2010 10:16:50
Mike
Hallo Chris,
gibst Du Dir da ("Einfach diese PP Tabellen kopieren und in ein Tabellenblatt einfügen")
die Antwort nicht gleich selbst?
Gruss
Mike
AW: Werte aus Powerpoint charts auslesen
01.04.2010 10:30:46
Christian
Hi Mike,
im Prinzip schon.
Es handelt sich aber um viele Präsentationen mit sehr vielen Charts und diese Daten müssen danach in eine Datenbank geschrieben werden. Der Aufbau der Tabellen in PP ist (fast) immer gleich (Anzahl Zeilen Spalten). Ein automatisierter Zugriff via VBA wäre sehr zeitsparend zumal ich dann diese Daten dann auch noch so aufbereiten könnte um sie dann gleich in die Datenbank zu schreiben.
Einfach nach dem Prinzip:
For each slide.Tabelle in Präsentation
tabelle(ppt).copy
wks("xyz").paste
next
Kennst du hier die die richtige Syntax?
Grüße und Dank
Chris
Anzeige
AW: Werte aus Powerpoint charts auslesen
01.04.2010 12:15:35
Heiko
Hallo Chris,
in 2007 so, ob das in 2003 klappt mußt du mal testen.
Sub TabellenAusPP()
Dim intI As Integer
Dim strPfad As String
Dim myFileSystemObject, myFiles
Dim ppApp As Object, ppSlide As Object, ppShapes As Object
Application.ScreenUpdating = False
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Left(ThisWorkbook.Path, 2) & "\"
.Title = "Ordnerauswahl"
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strPfad = .SelectedItems(1)
If Right(strPfad, 1)  "\" Then strPfad = strPfad & "\"
Else
MsgBox "Sie haben keinen Ordner ausgewählt, das Makro wird abgebrochen!",  _
vbInformation
Exit Sub
End If
End With
On Error Resume Next
Set ppApp = GetObject(, "Powerpoint.Application")
If Err = 429 Then Set ppApp = CreateObject("Powerpoint.Application")
ppApp.Visible = True
On Error GoTo 0
Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
For Each myFiles In myFileSystemObject.GetFolder(strPfad).Files
If InStr(UCase(myFiles.Name), "PPT") > 0 Then
ppApp.presentations.Open myFiles.Path
For Each ppSlide In ppApp.ActivePresentation.Slides
For Each ppShapes In ppSlide.Shapes
If ppShapes.HasTable Then
ppShapes.Copy
ActiveWorkbook.ActiveSheet.Paste Destination:=ActiveWorkbook.ActiveSheet. _
Cells(ActiveWorkbook.ActiveSheet.Cells(65535, 1).End(xlUp).Row + 2, 1)
End If
Next ppShapes
Next ppSlide
ppApp.ActivePresentation.Save
End If
Next myFiles
ppApp.Quit
Application.ScreenUpdating = True
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !!!
Anzeige
AW: Werte aus Powerpoint charts auslesen
01.04.2010 13:49:22
Christian
Hi Heiko,
erst mal Danke für die Luxusvariante!
Er kopiert aber die shapes bei denen .HasTable = true und nicht tables selbst in denen die Daten der charts stehen. Ich habe mal ein bisschen rumprobiert und befürchte fast, dass man auf diese Tabellen mit VBA keinen Zugriff hat.
Grüße
Chris
Anzeige
AW: Werte aus Powerpoint charts auslesen
01.04.2010 13:57:47
Heiko
Hallo Christian,
kann ich nicht ganz nachvollziehen, stell doch mal eine PP-Datei (bitte soweit wie möglich abgespeckt) hier ein. Beschreibe genau welche Daten/Tabellen du kopieren willst, dann kann ich mir mal ein Bild machen.
Gruß Heiko
AW: Werte aus Powerpoint charts auslesen
01.04.2010 14:33:44
Christian
Hi Heiko,
es geht um ein Diagramm bei welchem wenn ich es einfüge in die Tabelle meine Daten eingeben kann.
https://www.herber.de/bbs/user/68918.ppt
Wenn du auf das Diagramm doppelklickst geht ja eine Tabelle auf und die Daten die da drin stehen möchte ich gerne mit VBA nach Excel kopieren.
Gruß und Dank!
Chris
Anzeige
AW: Werte aus Powerpoint charts auslesen
01.04.2010 14:56:10
Heiko
Hallo Christian,
da muß ich mal schauen ob ich das hinkriege, nun ist aber erstmal Ostern.
Wenn ich was habe stell ich das hier ein, also ab und zu mal reinschauen.
(Auch nach einem neuen Thread schauen, denn bis nach Ostern ist dein Thread glaube ich rausgefallen.)
Gruß Heiko
AW: Werte aus Powerpoint charts auslesen
01.04.2010 15:06:39
Christian
Hi Heiko,
erstmal Danke für die Mühe, ich habe nächste Woche Urlaub werde aber mal reinschauen (beziehst du dich dann im Betreff auf diesen Thread oder wird der alte wieder aufgemacht?)
Mit den richtigen Dateien kann ich es erst übernächste Woche prüfen.
Grüße und schöne Ostern!
Chris
Anzeige
AW: Werte aus Powerpoint charts auslesen
01.04.2010 18:36:12
Heiko
Hallo Christian,
also zuhause mit PP 2000 wird das nichts mehr und nächste Woche bin ich auf Reisen.
Also selbst weiter probieren oder nächste Woche mal einen neuen Thread aufmachen (Bitte ähnlicher Titel damit ich den auch wieder finde).
Habe in der Firma aber noch den ChartData Befehl gefunden, vielleicht kannst du damit ja was anfangen. Mal in der Hilfe suchen.
Gruß Heiko
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Werte aus PowerPoint-Charts in Excel auslesen


Schritt-für-Schritt-Anleitung

Um Werte aus PowerPoint-Charts in Excel auszulesen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > "Einfügen" > "Modul".
  3. Kopiere den folgenden Code in das Modul:
Sub TabellenAusPP()
    Dim intI As Integer
    Dim strPfad As String
    Dim myFileSystemObject, myFiles
    Dim ppApp As Object, ppSlide As Object, ppShapes As Object
    Application.ScreenUpdating = False
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Left(ThisWorkbook.Path, 2) & "\"
        .Title = "Ordnerauswahl"
        .InitialView = msoFileDialogViewList
        If .Show = -1 Then
            strPfad = .SelectedItems(1)
            If Right(strPfad, 1) <> "\" Then strPfad = strPfad & "\"
        Else
            MsgBox "Sie haben keinen Ordner ausgewählt, das Makro wird abgebrochen!", vbInformation
            Exit Sub
        End If
    End With
    On Error Resume Next
    Set ppApp = GetObject(, "Powerpoint.Application")
    If Err = 429 Then Set ppApp = CreateObject("Powerpoint.Application")
    ppApp.Visible = True
    On Error GoTo 0
    Set myFileSystemObject = CreateObject("Scripting.FileSystemObject")
    For Each myFiles In myFileSystemObject.GetFolder(strPfad).Files
        If InStr(UCase(myFiles.Name), "PPT") > 0 Then
            ppApp.presentations.Open myFiles.Path
            For Each ppSlide In ppApp.ActivePresentation.Slides
                For Each ppShapes In ppSlide.Shapes
                    If ppShapes.HasTable Then
                        ppShapes.Copy
                        ActiveWorkbook.ActiveSheet.Paste Destination:=ActiveWorkbook.ActiveSheet.Cells(ActiveWorkbook.ActiveSheet.Cells(65535, 1).End(xlUp).Row + 2, 1)
                    End If
                Next ppShapes
            Next ppSlide
            ppApp.ActivePresentation.Save
        End If
    Next myFiles
    ppApp.Quit
    Application.ScreenUpdating = True
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus.

Diese Methode ermöglicht es Dir, alle Tabellen aus den PowerPoint-Charts in ein Excel-Arbeitsblatt zu übertragen.


Häufige Fehler und Lösungen

  • Fehler 429 - ActiveX-Komponente kann nicht erstellt werden: Dies passiert, wenn PowerPoint nicht installiert oder nicht korrekt registriert ist. Stelle sicher, dass PowerPoint auf Deinem Rechner verfügbar ist.
  • Leere Zellen in Excel: Stelle sicher, dass die Shapes in den PowerPoint-Präsentationen tatsächlich Tabellen sind. Die Methode kopiert nur Shapes mit .HasTable = True.
  • VBA gibt keine Daten zurück: Überprüfe, ob die Präsentationen im richtigen Format sind und die gewünschten Daten enthalten.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch manuell vorgehen:

  1. Öffne die PowerPoint-Präsentation und gehe zu dem gewünschten Chart.
  2. Doppelklicke auf das Diagramm, um die Tabelle anzuzeigen.
  3. Kopiere die Daten manuell und füge sie in Excel ein.

Diese Methode ist zeitaufwändig, eignet sich aber gut für kleine Datenmengen.


Praktische Beispiele

Angenommen, Du hast eine PowerPoint-Präsentation mit mehreren Charts und Tabellen:

  • Beispiel 1: Du möchtest die Verkaufszahlen aus einem Diagramm in Excel übertragen. Verwende das oben genannte VBA-Skript, um alle Verkaufszahlen direkt in ein Excel-Dokument zu importieren.
  • Beispiel 2: Wenn Du verschiedene Präsentationen hast, die die gleichen Tabellenstrukturen haben, kannst Du das Skript anpassen, um spezifische Daten aus bestimmten Charts zu extrahieren.

Tipps für Profis

  • Anpassen des VBA-Codes: Du kannst den VBA-Code anpassen, um nur bestimmte Charts oder Datenbereiche zu kopieren. Zum Beispiel, indem Du Bedingungen hinzufügst, die die spezifischen Daten filtern.
  • Debugging: Verwende Debug.Print in Deinem Code, um Werte während der Ausführung zu überwachen und Fehler schneller zu identifizieren.
  • Automatisierung: Überlege, das Skript so zu erweitern, dass es die Daten automatisch in eine Datenbank schreibt, was den Prozess weiter vereinfacht.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der VBA-Code funktioniert? Stelle sicher, dass die PowerPoint-Anwendung installiert und die Präsentationen im richtigen Format vorhanden sind. Teste den Code zuerst mit einer einfachen Präsentation.

2. Kann ich auch andere Datenformate außer Tabellen kopieren? Ja, Du kannst den Code anpassen, um auch andere Datenformate zu kopieren, jedoch ist der Fokus hier auf Tabellen in PowerPoint-Charts gelegt.

3. Welche Excel-Version benötige ich für dieses Skript? Das Skript ist in der Regel mit Excel 2007 oder höher kompatibel, da es Funktionen verwendet, die in älteren Versionen möglicherweise nicht verfügbar sind.

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