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

Forumthread: Makro: Alle Excel-Dateien aus einem Ordner öffnen

Makro: Alle Excel-Dateien aus einem Ordner öffnen
27.04.2016 16:06:44
Tobias
Hallo,
ich suche ein Makro um alle XLSX-Dateien aus einem Ordner zu öffnen (Excel 2010). Folgendes Makro funktioniert leider nicht, da es mir immer nur die erste Datei ausspuckt, und dann aber nicht weiter macht.
Sub OpenFiles()
Dim MyFile As String
MyFile = Dir$("C:\Eigene Dateien\*.xlsx")
Do
Workbooks.Open FileName:=MyFile
MyFile = Dir
Loop Until MyFile = ""
End Sub
Bitte um Lösungsvorschläge oder einfach ein anderes Makro. Die die ich sonst im Internet gefunden habe funktionieren leider gar nicht.. :(

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro: Alle Excel-Dateien aus einem Ordner öffnen
27.04.2016 16:16:25
ChrisL
Hi Tobias
Sub LoopThroughFiles()
Dim StrFile As String
StrFile = Dir("C:\Pfad\*.xlsx")
Do While Len(StrFile) > 0
Workbooks.Open (StrFile)
StrFile = Dir
Loop
End Sub

cu
Chris

AW: Makro: Alle Excel-Dateien aus einem Ordner öffnen
27.04.2016 16:19:22
ChrisL
ups da fehlt der Dateipfad, nimm den Code von Nepumuk ;)

Anzeige
Makro: Alle Excel-Dateien aus einem Ordner öffnen
27.04.2016 16:17:02
Nepumuk
Hallo,
so besser?
Sub OpenFiles()
    Const FILE_PATH As String = "C:\Eigene Dateien\"
    Dim MyFile As String
    
    MyFile = Dir$(FILE_PATH & "*.xlsx")
    
    Do Until MyFile = ""
        Workbooks.Open Filename:=FILE_PATH & MyFile
        MyFile = Dir$
    Loop
End Sub

Gruß
Nepumuk

Anzeige
AW: Makro: Alle Excel-Dateien aus einem..
27.04.2016 16:26:25
Tobias
Danke funktioniert, gibt es das ganze noch als schließen? Sprich alle Excel-Dateien außer die eigene (geöffnete) schließen? Brauche das eigentlich nur um bezugs-Felder zu aktualisieren. Das tut Excel ja leider aus anderen Ordnern nicht automatisch wenn die Dateien zu sind..

AW: Makro: Alle Excel-Dateien aus einem..
27.04.2016 16:31:03
Nepumuk
Hallo,
so?
Sub OpenFiles()
    Const FILE_PATH As String = "C:\Eigene Dateien\"
    Dim MyFile As String
    Dim objWorkbook As Workbook
    
    Application.ScreenUpdating = False
    
    MyFile = Dir$(FILE_PATH & "*.xlsx")
    
    Do Until MyFile = ""
        Set objWorkbook = Workbooks.Open(Filename:=FILE_PATH & MyFile, UpdateLinks:=3)
        Call objWorkbook.Close(SaveChanges:=True)
        MyFile = Dir$
    Loop
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
;

Forumthreads zu verwandten Themen

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

Makro zum Öffnen aller Excel-Dateien in einem Ordner


Schritt-für-Schritt-Anleitung

Um alle Excel-Dateien aus einem bestimmten Ordner zu öffnen, kannst du ein einfaches Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, die dir zeigt, wie du ein Excel Makro für alle Dateien erstellen kannst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub OpenFiles()
       Const FILE_PATH As String = "C:\Eigene Dateien\"
       Dim MyFile As String
       MyFile = Dir$(FILE_PATH & "*.xlsx")
       Do Until MyFile = ""
           Workbooks.Open Filename:=FILE_PATH & MyFile
           MyFile = Dir$
       Loop
    End Sub
  4. Ändere den FILE_PATH zu dem Ordner, aus dem du die XLSX-Dateien öffnen möchtest.

  5. Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die auftreten können, und deren Lösungen:

  • Fehler: "Die Datei konnte nicht gefunden werden."

    • Stelle sicher, dass der angegebene Pfad korrekt ist und die XLSX-Dateien im Ordner enthalten sind.
  • Fehler: "Makro funktioniert nicht."

    • Überprüfe, ob die Datei mit .xlsm gespeichert ist, um Makros ausführen zu können.
  • Fehler: "Nur die erste Datei wird geöffnet."

    • Stelle sicher, dass der Code korrekt ist. Verwende den vollständigen Code, wie oben beschrieben.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, um alle Excel Dateien in einem Ordner zu öffnen:

  1. Verwendung des VBA-Codes von ChrisL:

    Sub LoopThroughFiles()
       Dim StrFile As String
       StrFile = Dir("C:\Pfad\*.xlsx")
       Do While Len(StrFile) > 0
           Workbooks.Open (StrFile)
           StrFile = Dir
       Loop
    End Sub
  2. Batch-Datei: Du kannst auch eine Batch-Datei erstellen, um die XLSX-Dateien zu öffnen, aber dies erfordert zusätzliche Kenntnisse in der Batch-Programmierung.


Praktische Beispiele

Hier sind einige praktische Anwendungen des Makros:

  • Aktualisieren von Links: Verwende das Makro, um alle XLSX-Dateien in einem Ordner zu öffnen und die Verknüpfungen automatisch zu aktualisieren.
  • Datenanalyse: Öffne mehrere Excel-Dateien gleichzeitig, um Daten zu analysieren oder zu konsolidieren.

Tipps für Profis

  • Anpassung des Codes: Du kannst den Code anpassen, um nur bestimmte Dateien oder Dateitypen zu öffnen, indem du den Filter in Dir änderst.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um das Makro robuster zu machen.
  • Automatisierung: Integriere das Makro in größere Projekte, um wiederkehrende Aufgaben zu automatisieren.

FAQ: Häufige Fragen

1. Wie kann ich das Makro so ändern, dass es nur bestimmte Dateien öffnet? Du kannst den Filter in der Dir-Funktion anpassen, um nur Dateien mit bestimmten Kriterien zu öffnen, z.B. nur Dateien, die mit "Bericht_" beginnen.

2. Gibt es eine Möglichkeit, alle geöffneten Excel-Dateien zu schließen, außer der aktuellen? Ja, du kannst ein weiteres Makro erstellen, das alle geöffneten Workbooks durchläuft und die schließt, die nicht das aktive Workbook sind.

3. Welche Excel-Version wird benötigt, um dieses Makro zu verwenden? Das Beispiel wurde für Excel 2010 erstellt, sollte jedoch auch in neueren Versionen funktionieren. Stelle sicher, dass du die Makros aktiviert hast.

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