Excel -> PPT (V16.0) Basic-VBA-Befehle?

Moderator: ModerationP

Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon xSodax » 01. Dez 2020, 17:00

Hallo liebes Forum,

ich hoffe mal, dass ich hier im richtigen Subforum bin, da ich aus Excel heraus eine Powerpoint-Datei erstellen möchte.
Allerdings fehlen mir die PPT-Befehle, um mein Problem wirklich lösen zu können. Daher suche ich bei euch Rat.

Ich habe eine Exceldatei mit unzähligen Arbeitsblättern, komplexen Berechnungen und Simulationen. Da ich die Berechnungen ein paar mal die Woche aktualisiere und dann die Ergebnisse in eine Powerpoint übertrage, die immer gleich aussieht, möchte ich das gerne in Excel per Knopfdruck automatisieren. Mit fehlen aber die basics, sprich: Die Befehle und die Syntax von PPT-VBA. Und leider gibt es ja den Recorder nciht mehr, womit ich mir bestimmt hätte behelfen können.

Ich habe da mal vorbereitet :mrgreen:
Eine Excelsheet mit den fünf Dingen, die immer wieder wiederholen muss.
Bild

Was ich benötige:
Die ensprechende VBA-Anweisung bzw. -Anweisungen (nur die entsprechenden Code-Schnippsel) , wie ich die Zellinhalte/-Image zu Powerpoint bekomme.

Ich habe in der Powerpoint-Datei einen Master angelegt und alle Daten sollen auf die Folie 2 übertragen werden.
Hierbei habe ich Textfelder angelegt, die genauso heißen, wie in Excel:
Bild

Wie bekomme ich nun die Excel-Werte in diese Folie (PPT-Folie Seite 2)?
Also: den Wert aus Cells(3,2) in das Textfeld "ExcelText" in Folie 2.

Wie bestimme ich Länge, Breite und Farbe eines Rechteckes mit abgerundeten Ecken über die Werte in Excel gesteuert? Wie heißeneigentlich die anderen Objekte in PPT-VBA?
Wie bekomme ich das Bild aus Excel da rein?

Ich brauche da lediglich die verschiedenen Codeschnipsel für PPT.
PPT-Öffnen, Tabelleninhalte als Bild in PPT intergrieren, PPT Speichern und schließen usw. kann ich schon. Ich brauiche nur diese paar PPT Anweisungen, damit ich von da aus weiterlernen kann.

Kann mir jemand helfen?

LG

xSodax
Zuletzt geändert von xSodax am 01. Dez 2020, 17:06, insgesamt 1-mal geändert.
xSodax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 01. Dez 2020, 16:09

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon Fen » 01. Dez 2020, 17:05

Hallo,

hast Du versucht in Excel "copy" und in PPT "pasteLink" die Daten zu übertragen? Dann gäbe es einen automatischen Update.

mfg
Fen
 

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon xSodax » 01. Dez 2020, 17:08

ja, copy aus excel.

Was mir aber fehlt ist die Syntax, das Clipboard nun in das PPT-Textfeld zu übertragen.
Ich kann das Clipboard als Bild in PPT integrieren.. aber ich würde lieber Text statt Bild "kopieren", da PPt die Texte formatieren muss.

Und dieser Versuch ein neues Textfeld zu adressieren schlug fehlt:
Code: Alles auswählen
Set Kopierbereich = New DataObject
    Kopierbereich.GetFromClipboard
    pptSlide.Shapes(2).TextFrame.TextRange.Text = _
    Kopierbereich.GetText

Irgendwie will er nciht so wie ich...

Daher suche ich die Code-Schnippsel, um die Syntax zu lernen, damit ich mir dass dann alles selbst zurechtbiegen kann, wie ich es auf den jeweils 18 Folien benötige (!).

Dann gäbe es einen automatischen Update.

Leider kommen die Daten aus unterschiedlichen Excel-Quellen, deren Namen sich auch wöchentlich (manchmal sogar täglich) ändern. Daher wil ich ja auch den Knopf in Excel haben, der mit die PPT baut, die ich dann Tages- oder Stundenaktuell ablegen kann.
Zuletzt geändert von xSodax am 01. Dez 2020, 17:14, insgesamt 1-mal geändert.
xSodax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 01. Dez 2020, 16:09

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon Fen » 01. Dez 2020, 17:12

Die Verbindung Excel - PPT mit "copy - pasteLink" wird einmal von Hand eingerichtet.
Fen
 

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon xSodax » 01. Dez 2020, 17:16

Fen hat geschrieben:Die Verbindung Excel - PPT mit "copy - pasteLink" wird einmal von Hand eingerichtet.

Kannst Du mir das zeigen?
Vielleicht löst das ja schon mein Problem.

dann brauche ich ja nur noch das Zeichnen mit den "Excelvariablen", wenn so mein Text/Werte-Problem gelöst werden kann.
:P
xSodax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 01. Dez 2020, 16:09

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon Fen » 01. Dez 2020, 17:20

In Excel "copy" ist einfach, in PPT wird nicht das Icon geklickt, sondern das Menü "Einfüng" bietet mehrere Möglichkeiten des Einfügens: als Text, als Bild, Formatierung beibehalten, als Link; je nachdem was im Clipboard ist.
Fen
 

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon xSodax » 01. Dez 2020, 17:30

Bild
Du meinst das hier?

Das hilft mir nicht weiter, da ich die PPT ja nicht mehr manuell erstellen will sondern per Knopfdruck.
xSodax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 01. Dez 2020, 16:09

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon Fen » 01. Dez 2020, 17:38

auch auf die Gefahr hin aneinander vorbei zu reden (schreiben)

- Excel update der Zahlen, Grafiken etc
- Öffnen der PPT, automatischer update, Speichern (alter/neuer) Name
- fertig
Fen
 

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon Flotter Feger » 01. Dez 2020, 18:27

Hallo,

wenn du schon nicht auf Fen hören willst ... vielleicht hast du ja tatsächlich einen Grund :wink: ...

Solltest du eventuell mal im PowerPoint-Forum nach dem Code fragen ... hier im Excel-Forum bekommst du Excel-Code ... Slides sind aber etwas anderes als Sheets.

Was du genau vorhast, frage ich mal lieber nicht ... habe ich nämlich trotz deiner dürftigen Erklärung nicht begriffen ... 8-)
Sabina
Benutzeravatar
Flotter Feger
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2884
Registriert: 24. Okt 2016, 16:40

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon xSodax » 02. Dez 2020, 00:13

Vielen Dank ihr 2. Ich habe es rausgefunden.
Eigentlich gar nicht so schwer, wenn man denn mal die PPT-VBA-Syntax kennt.

Danke euch beiden.

xSodax
xSodax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 01. Dez 2020, 16:09

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon xSodax » 02. Dez 2020, 00:26

Flotter Feger hat geschrieben:Was du genau vorhast, frage ich mal lieber nicht ... habe ich nämlich trotz deiner dürftigen Erklärung nicht begriffen ... 8-)
Sabina


Die Basis ist mein Excel und diese setzt die PPT zusammen. In anderen Worten: Mein Excel rechnet und meine PPT ist dynamisch abhängig von den Ergebnissen.
Meine PPT-Folien sind nicht nach einem festen Schema, sondern dynamisch. Je nach Berechnungen wird bspw. Folie 3 ausgeblendet und dafür aber Folie 83 eingeblendet und mit Werten gefüllt. Gleichzeitig wird Textfeld 7 in Folie 3 aktualisiert, aber Textfeld 8 nicht aktualisiert aber soll ausgeblendet werden, da unwichtig.
So möchte ich auch - aus kreativen Gesichtspunkten - keine Excel-Diagramme in meinen Folien sondern "male" Diagramme mit Rechtecken, Kreisen und Linien und - je nach Excel-Berechnung - mit unterschiedlichen Längen, Kreisabschnitten usw.

Daher möchte ich mit Excel eine PPT dynamisch erstellen und nicht nur eine PPT mit Excel-Werten aktualisieren, da ich keine starren Verlinkungen habe werde.
xSodax
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 7
Registriert: 01. Dez 2020, 16:09

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon Fen » 02. Dez 2020, 08:16

PPT kennt genauso VBA wie Excel und kann Daten zwischen den Programmen / Dateien austauschen. Es ist nur etwas mühsam.

Im ersten Schritt müßtest Du die Objektnamen in PPT ermitteln, dann kann man sie von XL recht gut ansprechen.

Dies Objektnamen kann man auch in VBA dynamisch erfassne (Iteration) bzw anlegen. Aber es erfordert schon ein etwas Erfahrung.
Fen
 

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon DerHoepp » 02. Dez 2020, 10:39

Moin,

bei Powerpoint helfen leider nur Objektkatalog und die Onlinehilfe. Mit guten Englischkenntnissen und Kenntnissen des Aufbaus einer Präsentation lässt sich ganz gut das Objektmodell erschließen. Letztlich geht es ja um PowerPoint.Shape-Objekte. Die findest du in der Objekthierarchie so:
Code: Alles auswählen
PowerPoint.Application
|.Presentations(Index oder Name) -> PowerPoint.Presentation-Objekt
 |.Slides(Index)->PowerPoint.Slide-Objekt
  |.Shapes(Index oder Name)->PowerPoint.Shape-Objekt

Die PowerPoint.Shape-Objekte sind wiederum identisch (?) mit Excel.Shape-Objekten, so dass du ab da wieder mit dem Makrorekorder arbeiten kannst. In Powerpoint kannst du Shape-Objekten allerdings nicht über die GUI einen Namen geben, anhand dessen du das Shape aus der Shapes-Auflistung ermitteln kannst. Deswegen würde ich die Shape-Objekte (einmalig) auch per Code anlegen. Im Code kannst du die .Name-Eigenschaft nutzen, die auch als Identifikator in der .Shapes()-Auflistung gilt.

Es bleibt allerdings eine Frage, die eigentlich ins Powerpoint-Unterforum gehört.

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 9229
Registriert: 14. Mai 2013, 11:08

Re: Excel -> PPT (V16.0) Basic-VBA-Befehle?

Beitragvon snb » 02. Dez 2020, 11:01

Die Basis ist mein Excel und diese setzt die PPT zusammen. In anderen Worten: Mein Excel rechnet und meine PPT ist dynamisch abhängig von den Ergebnissen.
Meine PPT-Folien sind nicht nach einem festen Schema, sondern dynamisch. Je nach Berechnungen wird bspw. Folie 3 ausgeblendet und dafür aber Folie 83 eingeblendet und mit Werten gefüllt. Gleichzeitig wird Textfeld 7 in Folie 3 aktualisiert, aber Textfeld 8 nicht aktualisiert aber soll ausgeblendet werden, da unwichtig.


Einblenden-ausblenden nenne ich nicht 'dynamisch'; auch 'refresh' ist kaum 'dynamisch' zu nenen.
Wenn gut strukturiert braucht man nur ein 'statische' Powerpoint Presentation, die nach 'Refresh' selektiv gezeigt (ein/ausblenden; Folge) werden kann.
snb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8188
Registriert: 25. Sep 2014, 16:37


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: Bergzebra, Klaus-Dieter, snb und 19 Gäste