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

Forumthread: Wert aus Zelle in VBA Code übernehmen

Wert aus Zelle in VBA Code übernehmen
23.03.2019 22:07:20
Claudius
Liebes Forum,
ich habe mir einen Code gebastelt in dem eine Powerpoint geöffnet wird. Aktuell Muss ich den Pfad zur Datei im Code einsetzen. Gäbe es der Anwenderfreundlichkeit wegen auch eine Möglichkeit den Pfad aus einer definierten Zelle auszulesen? Z.B. der Pfad wäre in Zelle A1.
Anbei mein Code:

Sub ChartToExcelV1()
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
Set ppApp = CreateObject("Powerpoint.Application")
With ppApp
.Visible = True 'powerpoint fenster sichtbar machen
.Presentations.Open Filename:="C:\Users\laudius\Desktop\test.pptx" 'HIER sollte der Link aus  _
einer Zelle übernommen werden
.ActivePresentation.Slides(4).Select 'slide in der geöffneten Powerpoint wird gewählt
Sheets("Innovationsstrategie ").ChartObjects("Diagramm 28").Copy 'Sheet in der Excel wird gewä   _
_
_
_
_
hlt und zu übertragendes Diagramm wird gewählt
With .ActiveWindow
.View.Paste 'gewähltes Diagramm wird in Powerpoint auf der gewählten slide eingefügt
.Selection.ShapeRange.Left = 440.6 'entfernung vom linken rand
.Selection.ShapeRange.Top = 133.45 'entfernung vom oberen rand
End With
End With
End Sub

Vielen Dank schon mal für eure Hilfe!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert aus Zelle in VBA Code übernehmen
23.03.2019 22:16:43
Werner
Hallo Claudius,
so:
Sub ChartToExcelV1()
Dim ppApp As Object, ppFile As Object
Dim ppPres As String, strFilename As String
Set ppApp = CreateObject("Powerpoint.Application")
strFilename = ThisWorkbook.Worksheets("DeinBlatt").Range("A1")
With ppApp
.Visible = True
.Presentations.Open Filename:=strFilename
Gruß Werner
Anzeige
Für eine Rückmeldung scheint es....
27.03.2019 02:14:47
Werner
...mal nicht zu reichen.
Gruß Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Wert aus Zelle in VBA Code übernehmen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, wo der Pfad zur PowerPoint-Datei in Zelle A1 gespeichert ist.

  2. Öffne den Visual Basic for Applications (VBA) Editor, indem Du ALT + F11 drückst.

  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsm)“.
    • Wähle „Einfügen“ und dann „Modul“.
  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub ChartToExcelV1()
       Dim ppApp As Object, ppFile As Object
       Dim ppPres As String, strFilename As String
       Set ppApp = CreateObject("Powerpoint.Application")
       strFilename = ThisWorkbook.Worksheets("DeinBlatt").Range("A1").Value
       With ppApp
           .Visible = True
           .Presentations.Open Filename:=strFilename
           .ActivePresentation.Slides(4).Select
           Sheets("Innovationsstrategie").ChartObjects("Diagramm 28").Copy
           With .ActiveWindow
               .View.Paste
               .Selection.ShapeRange.Left = 440.6
               .Selection.ShapeRange.Top = 133.45
           End With
       End With
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus, um sicherzustellen, dass der Pfad korrekt aus der Zelle ausgelesen wird.


Häufige Fehler und Lösungen

  • Fehler: „Datei nicht gefunden“

    • Lösung: Überprüfe, ob der Pfad in Zelle A1 korrekt eingegeben wurde. Achte auf korrekte Schreibweise und Dateiendung.
  • Fehler: „Methoden oder Eigenschaften nicht gefunden“

    • Lösung: Stelle sicher, dass die angegebenen Blätter und Diagramme existieren. Überprüfe die Namen in Deinem Code.

Alternative Methoden

Eine alternative Methode besteht darin, den Benutzer zu fragen, wo die Datei gespeichert ist, anstatt den Pfad in eine Zelle zu schreiben. Dies kann mit Application.GetOpenFilename erfolgen:

Sub OpenPowerPoint()
    Dim ppApp As Object
    Dim strFilename As String
    Set ppApp = CreateObject("Powerpoint.Application")
    strFilename = Application.GetOpenFilename("PowerPoint Dateien (*.pptx), *.pptx")
    If strFilename <> "False" Then
        ppApp.Visible = True
        ppApp.Presentations.Open Filename:=strFilename
    End If
End Sub

Praktische Beispiele

  1. Beispiel 1: Pfad einfügen

    • In Zelle A1 steht: C:\Users\laudius\Desktop\test.pptx
    • Der oben angegebene VBA-Code übernimmt diesen Pfad und öffnet die Datei.
  2. Beispiel 2: Dynamischer Pfad

    • Wenn der Pfad sich ändert, einfach in Zelle A1 anpassen und das Makro erneut ausführen.

Tipps für Profis

  • Verwende Fehlerbehandlung in Deinem VBA-Code, um unerwartete Fehler zu vermeiden. Beispiel:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • Dokumentiere Deinen Code gut, damit Du oder andere Nutzer in der Zukunft verstehen, was passiert.


FAQ: Häufige Fragen

1. Wie kann ich den Pfad aus einer anderen Zelle übernehmen?
Du kannst den Zellbezug in strFilename = ThisWorkbook.Worksheets("DeinBlatt").Range("A1").Value anpassen, um eine andere Zelle zu verwenden.

2. Funktioniert dieser Code in Excel 2016?
Ja, der Code sollte in Excel 2016 und anderen Versionen von Excel, die VBA unterstützen, funktionieren. Achte darauf, dass die PowerPoint-Anwendung ebenfalls installiert ist.

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