VBA: Excel Bilder in Powerpoint einfügen
Ist zwar schade, dass man das
jedes Mal wieder aktivieren muss, wenn man denn die Kommentare
sehen möchte, aber schon mal besser als nichts 
Hallo Diana,
mit Vba wäre das Ganze nur ein Klick.
D.h. die Indikatoren werden ausgeblendet, das Bild nach PP geshickt und die Indikatoren wieder eingeblendet.
Wenn du es testen willst, beende PP. In Excel nimmst du eine neue leere Tabelle, Einfügen—Grafik und fügst 2-3 Grafiken ein.
Alt+F11, der Editor öffnet sich, Einfügen—Modul, dortrein kopierst du nachstehenden Code.
Dann Extras—Verweise, dort das Häkchen setzen bei
Microsoft PowerPoint x.x Object Library
x.x ist die Excelversion, also 12.0 o.ä.
Dann stelle den Curser beliebig in den Code rein und drücke F5…
Dann siehst du, wenn alles klappt
, was Vba so kann. Später bräuchtest du dann nur in Excel den Tabellenbereich markieren, auf ein noch zu erstellendes Symbol in der menueleiste klicken, das wars.
Den Ecelteil des codes schaffe ich leicht, aber da wo PP-Vba gefragt ist im Code habe ich halt Schwierigkeiten da ich PP und PP-Vba nicht kenne. Aberprobieren kann ich da schon was *gg*
Achja, kann sein, daß du da erst noch in Excel irgednwo bei Extras—Optionen—Sicherheit 2 Häkchen setzen mußt daß du makros zuläßt.Wenn da eine Auswahl der Sicherheitsstufen kommt, immer auf „Mittel“ stellen, d.h. bei jeder Mappe die Vba enthält wirst du beim Öffnen gefragt ob du das zuläßt oder nicht.
Option Explicit
'
Sub jede\_Grafik\_nach\_PowerPoint()
'Extras - Verweise: Microsoft PowerPoint x.x Object Library
Dim Grafik As Shape
Dim PP As PowerPoint.Application
Dim PP\_Datei As PowerPoint.Presentation
Dim PP\_Folie As PowerPoint.Slide
On Error GoTo Hell
Set PP = CreateObject("Powerpoint.Application")
With PP
.Visible = True
.Presentations.Add
End With
Set PP\_Datei = PP.ActivePresentation
For Each Grafik In ActiveSheet.Shapes
'neue Folie einfügen
PP.ActivePresentation.Slides.Add 1, ppLayoutBlank
Set PP\_Folie = PP\_Datei.Slides(1)
'kopieren
Grafik.CopyPicture
'einfügen
PP\_Folie.Shapes.Paste
Next
Set PP\_Folie = Nothing
Set PP\_Datei = Nothing
Set PP = Nothing
Exit Sub
Hell:
Set PP\_Folie = Nothing
Set PP\_Datei = Nothing
Set PP = Nothing
MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine \_
& "Beschreibung: " & Err.Description \_
, vbCritical, "Fehler"
End Sub
Gruß
Reinhard