Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopie editierbare Tabelle Excel -> Powerpoint

Kopie editierbare Tabelle Excel -> Powerpoint
12.12.2013 15:24:18
Björn
Hallo,
jetzt muss ich auch mal wieder eine Frage stellen.
Ich möchte aus Excel mehrere Folien in Powerpoint erstellen.
Was auch wunderbar funktioniert.
Jetzt sollen aber an den Tabellen in Powerpoint noch kleine Anpassungen vorgenommen werden können, z.B. zusätzliche Bemerkung oder eine Zelle farblich hervorheben.
Manuell, also mit Strg+C und Strg+V funktioniert das ohne Probleme.
Wie löse ich das aber in VBA?
Ich kenne nur die PasteSpecial Methode und habe diese bisher so verwendet:
rng_copy.copy
pp_slide.Shapes.PasteSpecial(DataType:=ppPasteEnhancedMetafile).Select
Die Objekte sind so definiert:
rng_copy wird beim Prozeduraufruf übergeben.
pp_slide ist immer die letzte Folie.
Dieser Code funktioniert.
Tabelle ist aber nicht editierbar.
Wie kann das so angepasst werden, dass die Tabelle wie mit Strg+V einfegüft wird?
Vielen Dank für Eure Hilfe.
Gruß
Björn B.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Kopie Excel --> Powerpoint als HTML
13.12.2013 07:41:16
Björn
Hallo nochmal,
ich habe noch etwas getestet...
Wie gesagt, mit Strg+C in Excel und Strg+V in Powerpoint funktioniert das ganze.
Ich bekomme aber den .Paste Befehl in Powerpoint nicht hin.
Mit Inhalte einfügen funktioniert es manuell mit "HTML-Format".
Aber auch das bekomme ich per VBA nicht hin.
Mit dieser Zeile:
pp_slide.Shapes.PasteSpecial(DataType:=ppPasteHTML).Select

erhalte ich folgende Fehlermeldung:
"Shapes.PasteSpecial: Invalid request. Clipboard is empty or contains data which may not be pasted here."
Kopiert wie einfach mit Range.copy
Was mache ich hier falsch?
Wäre für Hinweise sehr dankbar.
Gruß
Björn B.

Anzeige
AW: Kopie editierbare Tabelle Excel -> Powerpoint
13.12.2013 07:42:46
fcs
Hallo Björn,
wenn du den Daten aus Excel noch was ändern willst, dann musst du die Daten als OLE-Objekt einfügen. Allerdings ohne Link zur Original-Datei.
Das wird aller dings die PP-Dateiaufblähen, da alle Daten der Exceldatei eingebunden werden.
Ob es funktioniert und die Optik dann ähnlich sauber aussieht wie bei Einfügen als Grafik ?
Gruß
Franz
rng_copy.Copy
pp_slide.Shapes.PasteSpecial(DataType:=ppPasteOLEObject, Link:=msoFalse).Select

AW: Kopie editierbare Tabelle Excel -> Powerpoint
13.12.2013 08:01:09
Björn
Hallo Franz,
vielen Dank für Deine Antwort.
Leider ist das nicht das, was ich suche.
Bei Deiner Variante muss ich in die Tabelle in Powerpoint per Doppelklick zum Bearbeiten.
Wenn ich einfach Strg+C - Strg+V mache, dann kann ich (wie bei einer in Powerpoint erstellten Tabelle) einfach reinklicken und bearbeiten.
Genauso funktioniert es mit dem "HTML einfügen".
Hast Du dafür vielleicht auch einen Tipp?
Danke.
Gruß
Björn B.

Anzeige
AW: Kopie editierbare Tabelle Excel -> Powerpoint
13.12.2013 13:15:50
fcs
Hallo Björn,
dann versuche es mal mit
pp_slide.Shapes.PasteSpecial(DataType:=ppPasteHTML).Select
Allerdings hab ich da in PowerPoint zum Teil nicht unbedingt überzeugende Ergebnisse erhalten.
Schau mal unter der PowerPoint-VBA-Hilfe, welche Parameter für PasteSpecial noch möglich sind und probiere ggf. noch andere.
Gruß
Franz

AW: Kopie editierbare Tabelle Excel -> Powerpoint
13.12.2013 14:07:06
Björn
Hallo Franz,
das hatte ich schon probiert (siehe mein vorletzter Beitrag).
Ich habe alle Varianten von PasteSpecial ausprobiert, es funktioniert mit keiner!!!
Deswegen immer noch der Gedanke, ob man nicht irgendwie .Paste (nicht PasteSpecial) verwenden kann.
Gruß
Björn B.

Anzeige
AW: Kopie editierbare Tabelle Excel -> Powerpoint
15.12.2013 19:53:37
fcs
Hallo Björn,
ich hab noch mal mit Paste und PasteSpecial experimentiert. Leider hab ich keinen vernüftigen Ansatz gefunden.
Mit Strg+C und Strg+V sieht es bei mir genau so aus als wenn ich unter VBA Option HTML oder Default verwende.
Unter VBA hab ich keinen Weg gefunden, die manuell mögliche Option "ursprüngliche Formatierung beibehalten (U)" einzustellen.
Gruß
Franz

AW: Kopie editierbare Tabelle Excel -> Powerpoint
16.12.2013 11:07:19
Björn
Hallo Franz,
vielen Dank für Deine Bemühungen.
Ich verstehe nicht, warum dieser einfache Befehl .Copy und .Paste nicht funktioniert.
Ich kann auch nicht nachvollziehen, warum ich manuell „Inhalte einfügen – HTML“ ohne Probleme ausführen kann und dann sogar das gewünschte Ergebnis erhalte, aber per VBA eine Fehlermeldung erhalte.
„"Shapes.PasteSpecial: Invalid request. Clipboard is empty or contains data which may not be pasted here."”
Noch mehr wundert mich jetzt, dass es bei Dir mit HTML per VBA funktioniert.
Ist bei default / HTML die Tabelle auch editierbar?
Dann muss es ja irgendwie an meinen Daten liegen.
Vielleicht weil ich 2 Diagramme und eine Tabelle gleichzeitig kopiere (alles in einer Tabelle in einem Bereich A4:M45).
Gruß
Björn B.

Anzeige
AW: Kopie editierbare Tabelle Excel -> Powerpoint
17.12.2013 10:01:56
fcs
Hallo Björn,
ich hab nochmals in den Tiefen von PowerPoint und VBA weiter gesucht und probiert.
Dabei hab ich herausgefunden, dass Paste in den verschiedenen PP-Ansichten und je nach aktivem Objekt unterschiedlich/nicht funktioniert.
Beim Kopieren von Excel nach PP scheint Paste wie gewünscht zu funktionieren, wenn nur die einzelnen Folien angezeigt werden.
Deshalb muss man im Makro die PP-Ansicht entsprechend einstellen.
Kopiert man einen Excel-Bereich inklusive eingebettetem Diagramm, dann werden die Zellen in PP editierbar eingefügt, die Diagramme behalten jedoch ihren Link zur Datenquelle. Diese Links muss man dann ggf. noch entfernen.
Nachfolgend ein Beispielmakro. Die Muster-PP-Präsentation hat bei mir eine Titelfolie und eine 2. Folie (leer außer den in der Masterfolie hinterlegten Elementen).
Gruß
Franz
'Erstellt unter MS Office 2010 professional - Excel 2010, PowerPoint 2010
Option Explicit
Sub Zellbereiche_Nach_PowerPoint()
'Kopiert Zellbereiche in eine PowerPoint-Präsentation            Stand: 2013-12-17
'Im Excel VBA-Editor muss unter Extras der Verweis auf die _
Microsoft PowerPoint Object Library gesetzt sein _
oder alle PP-Objekte müssen als Object deklariert werden
Dim PP As PowerPoint.Application
Dim PP_Datei As PowerPoint.Presentation
Dim PP_Folie As PowerPoint.Slide
Dim PP_Shape As PowerPoint.Shape
Dim xl_Range As Range
Dim bool_Erste As Boolean
Dim intRange As Integer
'PP-Datei in die die Zellbereiche in jeweils eine Folie kopiert werden sollen
Const strPP_Datei As String = "C:\Users\Public\Test\Meine Testpräsentation.pptx" 'anpassen!
'Powerpoint-Vorlage schreibgeschützt öffnen
Set PP = CreateObject("Powerpoint.Application")
With PP
.Visible = True
Set PP_Datei = .Presentations.Open( _
Filename:=strPP_Datei, _
ReadOnly:=True)
End With
PP.ActiveWindow.ViewType = 1 'ppViewSlide 'wichtig, nur in dieser Ansicht funktioniert  _
Paste sauber
bool_Erste = True
For intRange = 1 To 2 '2 = ANzahl der zu kopierenden Zellbereiche
If bool_Erste = True Then
'bei erstem Kopieren keine Folie anfügen
bool_Erste = False
Else
'neue Folie anfügen mit Layoutvorlage der 2. Folie
With PP_Datei
.Slides.AddSlide Index:=.Slides.Count + 1, pcustomlayout:=.Slides(2).CustomLayout
End With
End If
'Letzte Folie setzen
Set PP_Folie = PP_Datei.Slides(PP_Datei.Slides.Count)
Select Case intRange
Case 1
Set xl_Range = ActiveWorkbook.Worksheets("Tabelle1").Range("A1:G21")
Case 2
Set xl_Range = ActiveWorkbook.Worksheets("Tabelle2").Range("A1:G21")
End Select
'Zellbereich in Excel kopieren
xl_Range.Copy
'kopierten Bereich in PP einfügen
PP_Folie.Select
PP.ActiveWindow.View.Paste
Next
'bei allen Diagrammobjekten den Link zur Datenquelle entfernen
On Error Resume Next
For Each PP_Folie In PP_Datei.Slides
For Each PP_Shape In PP_Folie.Shapes
If PP_Shape.Type = 3 Then '3 = msoChart
PP_Shape.LinkFormat.BreakLink
End If
Next
Next
PP.ActiveWindow.ViewType = 9 'ppViewNormal
PP.WindowState = 3 'ppWindowMaximized
Beenden:
Set PP = Nothing: Set PP_Datei = Nothing: Set PP_Folie = Nothing: Set PP_Shape = Nothing
End Sub

Anzeige
AW: Kopie editierbare Tabelle Excel -> Powerpoint
17.12.2013 15:09:40
Björn
Hallo Franz,
vielen Dank!!!
Mit Deinem Code scheint es zu funktionieren.
Auf jeden Fall ist die Tabelle editierbar.
Nur die Größe ist nicht so wie in Excel formatiert, aber das bekomme ich auch noch hin.
Das mit der Ansicht in Powerpoint war der entscheidende Hinweis...
Mann o Mann, das muss man aber echt wissen. Da kann man ja stundenlang ausprobieren und kommt erst nicht drauf.
Vielen Dank für Deine Hilfe.
Gruß
Björn B.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige