Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

externe Datei per VBA-Button öffnen

Forumthread: externe Datei per VBA-Button öffnen

externe Datei per VBA-Button öffnen
15.07.2004 14:20:04
Manuel
Hi alle!
Ich möcht, wie im Betreff schon steht, eine externe Excel-Datei per VBA-Button öffnen.
Diese Datei liegt z.B. hier: "C:\Test\Test.xls".
Diese soll nun mit Daten aus der ursprünglichen Excel-Datei (in der der VBA-Button) in einigen Felder gefüllt werden.
Des Weiteren soll diese neue Datei nun abgespeichert werden. Wie die aktuelle Datei speichere, weiss ich, aber nicht wie ich eine andere abspeichern kann.
Wäre nett, wenn Ihr mir helfen könntet.
Mit freundlichen Grüssen
Manuel Marhold
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: externe Datei per VBA-Button öffnen
Nike
Hi,
mal so versuchen?

Sub test
dim wkbBasis as workbook
dim wkbZiel as workbook
set wkbBasis as activeworkbook
set wkbZiel = workbooks.open("C:\Test\Test.xls")
wksZiel.worksheets(1).range("A1") = wksBasis.worksheets(1).range("A1")
wkbZiel.close true
End Sub

Bye
Nike
Anzeige
AW: externe Datei per VBA-Button öffnen
15.07.2004 15:05:18
ANdreas
Hallo Manuel,
so in etwa sieht das aus:

Sub Oeffnen()
'Datei Öffnen
Workbooks.Open "C:\Temp\bla.xls"
'Werte übertragen
With ActiveWorkbook.Worksheets(1)
.Range("A1").Value = ThisWorkbook.Worksheets("Tabelle1").Range("C2").Value
End With
'Speichern und Schließen
ActiveWorkbook.Close SaveChanges:=True
End Sub

Gruß
Andreas
Anzeige
AW: externe Datei per VBA-Button öffnen
15.07.2004 16:04:08
Manuel
HI!
Danke, das scheint zu funktionieren.
Wie kann ich denn nu noch ein externme Datei kopieren, also die C:\Temp\bla.xls nach C:\Temp2\bla.xls ?
Könntest ihr mir da helfen?
Grüße
Manuel
AW: externe Datei per VBA-Button öffnen
15.07.2004 16:50:17
ANdreas
Hallo Manuel,
wenn bla.xls die aktive Mappe ist, dann so:
ActiveWorkbook.SaveCopyAs "C:\TEMP\bla2.XLS"
Damit wird sie einfach als Kopie gespeichert. Wenn sie nicht geöffnet ist, musst Du sie erst öffnen, aber das weißt Du ja schon wie das geht.
Wenn Du viele Dateien schnell kopieren willst, hilft Dir evtl. auch das weiter:
https://www.herber.de/mailing/046999h.htm
Gruß
Andreas
Anzeige
Danke, läuft!, Geschlossen - o.T.
Manuel
.
;
Anzeige

Infobox / Tutorial

Externe Datei per VBA-Button in Excel öffnen und speichern


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der Du den VBA-Button erstellen möchtest.

  2. Gehe zu "Entwicklertools" und klicke auf "Visual Basic", um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Einfügen" > "Modul" wählst.

  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub OeffnenUndSpeichern()
        Dim wkbBasis As Workbook
        Dim wkbZiel As Workbook
    
        ' Aktuelle Arbeitsmappe festlegen
        Set wkbBasis = ThisWorkbook
    
        ' Externe Datei öffnen
        Set wkbZiel = Workbooks.Open("C:\Test\Test.xls")
    
        ' Werte übertragen
        wkbZiel.Worksheets(1).Range("A1").Value = wkbBasis.Worksheets("Tabelle1").Range("C2").Value
    
        ' Speichern und Schließen
        wkbZiel.Close SaveChanges:=True
    End Sub
  5. Schließe den VBA-Editor und füge einen Button in Deine Excel-Datei ein.

  6. Verlinke den Button mit dem VBA-Makro OeffnenUndSpeichern.


Häufige Fehler und Lösungen

  • Fehler "Datei nicht gefunden": Stelle sicher, dass der Pfad zur externen Datei korrekt ist. Überprüfe auch, ob die Datei existiert.

  • Fehler beim Übertragen von Werten: Achte darauf, dass die angegebenen Zellreferenzen in beiden Arbeitsmappen korrekt sind.

  • Excel schließt unerwartet: Überprüfe, ob Du alle notwendigen Berechtigungen hast und ob andere Anwendungen die Datei nicht verwenden.


Alternative Methoden

Du kannst auch die SaveCopyAs-Methode verwenden, um eine Kopie einer Datei zu erstellen, ohne sie zu öffnen. Hier ist ein Beispiel:

ActiveWorkbook.SaveCopyAs "C:\Temp2\bla.xls"

Diese Methode ist nützlich, wenn Du mehrere Dateien schnell kopieren möchtest, ohne sie manuell zu öffnen.


Praktische Beispiele

Wenn Du beispielsweise die Datei "C:\Temp\bla.xls" nach "C:\Temp2\bla.xls" kopieren möchtest, kannst Du folgenden VBA-Code verwenden:

Sub Kopieren()
    Workbooks.Open "C:\Temp\bla.xls"
    ActiveWorkbook.SaveCopyAs "C:\Temp2\bla.xls"
    ActiveWorkbook.Close
End Sub

Dieser Code öffnet die Datei, speichert eine Kopie und schließt sie anschließend.


Tipps für Profis

  • Nutze Error Handling in Deinem VBA-Code, um Fehler besser zu verwalten. Beispiel:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    
    Fehlerbehandlung:
    MsgBox "Fehler: " & Err.Description
  • Experimentiere mit Application.DisplayAlerts = False, um Warnmeldungen während des Speicherns zu unterdrücken.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen gleichzeitig übertragen?
Du kannst die Werte in einem Bereich übertragen, indem Du .Value für den gesamten Bereich verwendest:

wkbZiel.Worksheets(1).Range("A1:B10").Value = wkbBasis.Worksheets("Tabelle1").Range("C2:D11").Value

2. Funktioniert dieser VBA-Code auch in Excel 365?
Ja, der bereitgestellte VBA-Code funktioniert in Excel 365 sowie in früheren Versionen, solange die Grundlagen der VBA-Programmierung beachtet werden.

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