Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA workbook open anderes Verzeichnis

VBA workbook open anderes Verzeichnis
28.03.2020 12:16:31
Timo
Hallo zusammen,
ich würde gerne per Knopfdruck Daten von einer Excel-Datei in eine andere schreiben.
Solange beide Dateien im selben Verzeichnis liegen, funktioniert das Ganze auch ohne Probleme. Ich habe hierfür einen "Testcode" geschrieben, welcher wie folgt aussieht:
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ext_wb = Workbooks.Open(ThisWorkbook.Path & "\Bestellungen Geräte und PCBA.xlsm")
ext_wb.Sheets("NEU").Range("A2:A3").Copy
ThisWorkbook.Sheets("Bestückungen").Range("A20").PasteSpecial
ext_wb.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Sobald ich die Datei, aus der ich die Daten kopieren möchte, in ein anderes Verzeichnis verschiebe funktioniert mein Code leider nicht mehr. Hierfür habe ich den Code bereits etwas angepasst, leider ohne Erfolg:
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set ext_wb = Workbooks.Open(ThisWorkbook.Path & "C:\Users\timo\Desktop\Bestellungen Geräte und PCBA.xlsm")
ext_wb.Sheets("NEU").Range("A2:A3").Copy
ThisWorkbook.Sheets("Bestückungen").Range("A20").PasteSpecial
ext_wb.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Der Fehler tritt immer an der Stelle auf, an der ich die zweite Datei öffnen möchte. Hat jmd. eine Idee was ich falsch mache? Über eine Lösung wäre ich sehr dankbar:)!
Gruß
Timo
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA workbook open anderes Verzeichnis
28.03.2020 12:31:01
Hajo_Zi
du hast 2x einen Ordner
Set ext_wb = Workbooks.Open("C:\Users\timo\Desktop\Bestellungen Geräte und PCBA.xlsm")

AW: VBA workbook open anderes Verzeichnis
28.03.2020 12:41:36
Timo
Super, vielen Dank für die schnelle Hilfe!
Muss die zweite Datei eigentlich zwangsläufig im .xlsm Format sein oder reicht eine gewöhnliche .xls-Datei?
Anzeige
AW: VBA workbook open anderes Verzeichnis
28.03.2020 12:53:02
Hajo_Zi
Du kannst jede Exceldatei öffnen.
Gruß Hajo
AW: VBA workbook open anderes Verzeichnis
28.03.2020 12:57:55
Timo
Super, danke für deine Hilfe und Antworten!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Workbook Open in Anderes Verzeichnis


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei aus einem anderen Verzeichnis mit VBA zu öffnen, kannst Du folgenden Code verwenden. Dieser Code ermöglicht es Dir, eine bestimmte Datei zu öffnen und Daten von dieser Datei in eine andere zu kopieren.

Sub DatenVonAndererDateiKopieren()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    ' Den vollständigen Pfad zur gewünschten Datei angeben
    Set ext_wb = Workbooks.Open("C:\Users\timo\Desktop\Bestellungen Geräte und PCBA.xlsm")

    ' Daten kopieren
    ext_wb.Sheets("NEU").Range("A2:A3").Copy
    ThisWorkbook.Sheets("Bestückungen").Range("A20").PasteSpecial

    ext_wb.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Stelle sicher, dass der Pfad zur Datei korrekt ist und keine doppelten Backslashes () vorhanden sind. Der Code öffnet die Datei und kopiert die Daten von einem bestimmten Bereich in die aktive Arbeitsmappe.


Häufige Fehler und Lösungen

  1. Fehlerhafte Pfadangabe:

    • Wenn Du die Datei nicht finden kannst, überprüfe den angegebenen Pfad. Ein häufiger Fehler ist das Fehlen eines Backslashes am Ende des Verzeichnisses.
  2. Dateiformat:

    • Stelle sicher, dass die Datei im richtigen Format vorliegt. Du kannst sowohl .xls als auch .xlsm-Dateien öffnen, solange der Pfad korrekt angegeben ist.
  3. Doppelte Ordner im Pfad:

    • Achte darauf, dass Du nicht versehentlich den Pfad doppelt angibst, wie in der Antwort von Hajo_Zi. Der korrekte Befehl lautet:
      Set ext_wb = Workbooks.Open("C:\Users\timo\Desktop\Bestellungen Geräte und PCBA.xlsm")

Alternative Methoden

Du kannst auch die Application.Workbooks.Open Methode verwenden, um eine Excel-Datei zu öffnen. Diese Methode ist besonders nützlich, wenn Du mehrere Dateien gleichzeitig verwalten möchtest:

Sub AlternativeMethode()
    Dim wb As Workbook
    Set wb = Application.Workbooks.Open("C:\Users\timo\Desktop\Bestellungen Geräte und PCBA.xlsm")
    ' Weitere Operationen hier
    wb.Close
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du das Workbooks.Open und Workbook.Open in unterschiedlichen Szenarien verwenden kannst:

  1. Daten von einer Datei in eine andere kopieren:

    Sub Kopieren()
       Dim srcWb As Workbook
       Dim destWb As Workbook
    
       Set srcWb = Workbooks.Open("C:\Users\timo\Desktop\Daten.xlsx")
       Set destWb = Workbooks.Open("C:\Users\timo\Desktop\Ziel.xlsx")
    
       srcWb.Sheets(1).Range("A1:A10").Copy destWb.Sheets(1).Range("B1")
    
       srcWb.Close
       destWb.Save
       destWb.Close
    End Sub
  2. Datei mit Benutzerinteraktion öffnen:

    Sub DateiAuswählen()
       Dim dateiPfad As Variant
       dateiPfad = Application.GetOpenFilename("Excel Files (*.xls; *.xlsm), *.xls; *.xlsm")
       If dateiPfad <> False Then
           Workbooks.Open dateiPfad
       End If
    End Sub

Tipps für Profis

  • Nutze ThisWorkbook.Path, um den Pfad zur aktuellen Arbeitsmappe dynamisch zu erstellen, wodurch Du die Flexibilität erhöhst, ohne den Pfad manuell anpassen zu müssen.
  • Implementiere Fehlerbehandlung in Deinen VBA-Skripten, um sicherzustellen, dass Dein Code auch bei unerwarteten Situationen stabil bleibt:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    
    Fehlerbehandlung:
      MsgBox "Fehler: " & Err.Description

FAQ: Häufige Fragen

1. Muss die zweite Datei im .xlsm Format sein oder reicht eine .xls-Datei? Ja, Du kannst jede Excel-Datei öffnen, solange Du den richtigen Pfad angibst.

2. Was ist der Unterschied zwischen Workbooks.Open und Application.Workbooks.Open? Es gibt keinen signifikanten Unterschied; beide Methoden öffnen eine Arbeitsmappe. Application.Workbooks.Open ist nur eine explizite Angabe, die den Kontext verdeutlicht.

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