Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1800to1804
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

Excel Zelle kopieren in PowerPoint Feld

Excel Zelle kopieren in PowerPoint Feld
02.01.2021 09:15:43
Excelaner
Hi Leute,
erstmal wünsche ich jedem ein frohes neues Jahr!
Ich habe eine Excel mit Stammdaten und eine PowerPoint Folie, in der ich zwei Informationen aus dieser Excel anzeigen möchte.
Das bekomme ich auch schon hin mit diesem Code:
Sub Daten_ausExcel_holen()
Dim wb As Workbook, wks As Worksheet
Dim Folie As Slide, Textfeld As Shape
Set wb = Workbooks.Open(FileName:="C:\Users\Test\OneDrive\Daten\Stammdaten.xlsm", ReadOnly:= _
_
True)
Set wks = wb.Worksheets("Tabelle1")
Set Folie = ActivePresentation.Slides(1)
Set Textfeld = Folie.Shapes("Titel 45")
Textfeld.TextFrame.TextRange.Text = wks.Range("A2").Text
Set Folie = ActivePresentation.Slides(1)
Set Textfeld = Folie.Shapes("Untertitel 53")
Textfeld.TextFrame.TextRange.Text = wks.Range("B2").Text
wb.Close savechanges:=False
End Sub

Jetzt habe ich nur folgendes Problem:
1. Die Stammdaten Excel muss immer geschlossen werden, damit ich sie öffnen kann --> ich habe leider nicht herausgefunden wie ich set wb = ohne Open hinkriege, sodass PowerPoint die Excel Datei nicht öffnet sondern einfach aus der offenen Datei sich die Daten holt
2. Aktuell muss ich erst in Excel ein Makro ausführen und dann über die Menüleiste in PowerPoint auch ein Makro ausführen, damit die aktualisiert werden. Gibt es eine Möglichkeit, direkt aus Excel ein Makro in PowerPoint zu starten, damit ich nur noch ein Button klicken muss?
Aber viel wichtiger ist Punkt 1!
Danke euch im Voraus!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Zelle kopieren in PowerPoint Feld
02.01.2021 11:20:33
volti
Hallo Excelaner,
mir ist jetzt nicht ganz klar, wo aus Du dieses Makro ausführst. Nehme an, unter PowerPoint.
Du könntest es von Excel ausführen lassen. Siehe dazu u.a. Code-Beispiel. Dazu musst Du Dir dann noch die PPt-Referenz holen.
Das Powerpoint-Makro bzw. dessen Ausführung kannst Du Dir sparen.
Code:
[Cc][+][-]

Option Explicit Sub Daten_ausExcel_holen() Dim wb As Workbook, wks As Worksheet Dim pptApp As Object, Textfeld As Shape Dim sDateiname As String, sPfad As String ' Datei referenzieren bzw. öffnen sDateiname = "Stammdaten.xlsm" sPfad = "C:\Users\Test\OneDrive\Daten\" On Error Resume Next Set wb = Workbooks(sDateiname) If wb Is Nothing Then Set wb = Workbooks.Open(Filename:=sPfad & sDateiname, ReadOnly:=True) End If ' PPt-Referenz holen oder Neu aufmachen Set pptApp = GetObject(, "PowerPoint.Application") 'geöffnete PPt ansprechen If pptApp Is Nothing Then Set pptApp = CreateObject("PowerPoint.Application") End If If pptApp Is Nothing Then Exit Sub ' Textfelderupdate in aktiver Präsentation, Folie 1 With pptApp.ActivePresentation.slides(1) Set Textfeld = .Shapes("Titel 45") If Not IsEmpty(Textfeld) Then _ Textfeld.TextFrame.TextRange.Text = wks.Range("A2").Text Set Textfeld = .Shapes("Untertitel 53") If Not IsEmpty(Textfeld) Then _ Textfeld.TextFrame.TextRange.Text = wks.Range("B2").Text End With ' Exceldatei schließen wb.Close savechanges:=False Set pptApp = Nothing End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Excel Zelle kopieren in PowerPoint Feld
02.01.2021 12:38:04
Excelaner
Hi Karl Heinz,
vielen lieben Dank für deine Hilfe.
Es funktioniert leider nicht, wenn ich dein Code von der Stammdaten-Excel aus ausführe.
Bei dir fehlt noch set wks =, das habe ich noch ergänzt, aber es funktioniert leider nicht.
Wenn ich es ausführe, passiert einfach gar nichts, nur das funktioniert:
wb.Close savechanges:=False
Was mache ich falsch? Die ppt ist auch offen
AW: Excel Zelle kopieren in PowerPoint Feld
02.01.2021 13:10:12
volti
Hallo Excelaner,
sorry, das mit dem wks hatte ich vergessen. Kann mangels passender PPt das nicht testen...
Zum Fehler kann ich auch nichts sagen.
Tipp: Step das im Einzelschritt (F8) mal durch und schaue, ob alle Objekte entsprechend gesetzt werden.
Wenn Du es gar nicht rausbekommen solltest, wäre das (gezippte) Hochladen der beiden Dateien mal sinnvoll.
Code:
[Cc][+][-]

Sub Daten_ausExcel_holen() Dim wb As Workbook, wks As Worksheet Dim pptApp As Object, Textfeld As Shape Dim sDateiname As String, sPfad As String ' Datei referenzieren bzw. öffnen sDateiname = "Stammdaten.xlsm" sPfad = "C:\Users\Test\OneDrive\Daten\" On Error Resume Next Set wb = Workbooks(sDateiname) On Error GoTo 0 If wb Is Nothing Then Set wb = Workbooks.Open(Filename:=sPfad & sDateiname, ReadOnly:=True) End If Set wks = wb.Worksheets("Tabelle1") ' PPt-Referenz holen oder Neu aufmachen Set pptApp = GetObject(, "PowerPoint.Application") 'geöffnete PPt ansprechen If pptApp Is Nothing Then Set pptApp = CreateObject("PowerPoint.Application") MsgBox "Bitte die Präsentation öffnen!", vbOKOnly, "PPt öffnen" Set pptApp = Nothing Exit Sub End If If pptApp Is Nothing Then Exit Sub ' Textfelderupdate in aktiver Präsentation, Folie 1 With pptApp.ActivePresentation.slides(1) On Error Resume Next Set Textfeld = .Shapes("Titel 45") If Not IsEmpty(Textfeld) Then _ Textfeld.TextFrame.TextRange.Text = wks.Range("A2").Text Set Textfeld = .Shapes("Untertitel 53") If Not IsEmpty(Textfeld) Then _ Textfeld.TextFrame.TextRange.Text = wks.Range("B2").Text On Error GoTo 0 End With ' Exceldatei schließen wb.Close savechanges:=False Set pptApp = Nothing End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Excel Zelle kopieren in PowerPoint Feld
02.01.2021 13:37:50
volti
Hallo,
noch mal ein Update...
Code:
[Cc][+][-]

Option Explicit Sub Daten_ausExcel_holen() Dim wb As Workbook, wks As Worksheet Dim pptApp As Object Dim sDateiname As String, sPfad As String ' Datei referenzieren bzw. öffnen sDateiname = "Stammdaten.xlsm" sPfad = "C:\Users\Test\OneDrive\Daten\" On Error Resume Next Set wb = Workbooks(sDateiname) If wb Is Nothing Then Set wb = Workbooks.Open(Filename:=sPfad & sDateiname, ReadOnly:=True) End If Set wks = wb.Worksheets("Tabelle1") ' PPt-Referenz holen oder Neu aufmachen Set pptApp = GetObject(, "PowerPoint.Application") 'geöffnete PPt ansprechen If pptApp Is Nothing Then Set pptApp = CreateObject("PowerPoint.Application") MsgBox "Bitte jetzt die Präsentation öffnen!", vbOKOnly, "PPt öffnen" Set pptApp = Nothing End If If pptApp Is Nothing Then Exit Sub On Error GoTo 0 ' Textfelderupdate in aktiver Präsentation, Folie 1 With pptApp.ActivePresentation.slides(1) .Shapes("Titel 45").TextFrame.TextRange.Text = wks.Range("A2").Text .Shapes("Untertitel 53").TextFrame.TextRange.Text = wks.Range("B2").Text End With ' Exceldatei schließen wb.Close savechanges:=False Set pptApp = Nothing End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Excel Zelle kopieren in PowerPoint Feld
02.01.2021 14:01:03
Excelaner
Karl Heinz, du bist der BESTE!!!! Mit dem letzten Update funktioniert alles perfekt!!!
Danke dir.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige