Excel VBA: Arbeitsmappen öffnen — von einfachen Methoden bis zu Dateiauswahl-Dialogen

Melden

Dieses Tutorial zeigt dir, wie du mit Excel VBA andere Arbeitsmappen öffnest – von der einfachsten Methode bis hin zu fortgeschrittenen Techniken mit Dateiauswahl-Dialogen.


Vorbereitung: Den VBA-Editor öffnen

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe auf Einfügen > Modul.
  3. Hier kopierst du die folgenden Beispiele hinein.

1. Die einfachste Methode (Fester Dateipfad)

Wenn du immer dieselbe Datei am selben Ort öffnen möchtest, nutzt du Workbooks.Open.

Sub DateiOeffnenEinfach()
    Dim pfad As String
    pfad = "C:\DeinOrdner\BeispielDatei.xlsx"

    ' Datei öffnen
    Workbooks.Open pfad
End Sub

2. Datei über einen Dialog auswählen (Flexibel)

Dies ist die benutzerfreundlichste Methode. Es öffnet sich das Standard-Windows-Fenster zur Dateiauswahl.

Sub DateiMitDialogOeffnen()
    Dim dateiPfad As Variant

    ' Dateiauswahl-Dialog anzeigen
    dateiPfad = Application.GetOpenFilename(FileFilter:="Excel-Dateien (*.xlsx; *.xlsm), *.xlsx; *.xlsm", Title:="Bitte Datei wählen")

    ' Prüfen, ob der Benutzer "Abbrechen" gedrückt hat
    If dateiPfad <> False Then
        Workbooks.Open dateiPfad
    Else
        MsgBox "Keine Datei ausgewählt."
    End If
End Sub

3. Mit der geöffneten Datei weiterarbeiten

Oft möchtest du die Datei nicht nur öffnen, sondern Daten daraus kopieren. Dazu solltest du die geöffnete Datei einer Variablen zuweisen.

Sub DateiOeffnenUndBearbeiten()
    Dim wbQuelle As Workbook
    Dim pfad As String

    pfad = "C:\Test\Daten.xlsx"

    ' Datei öffnen und der Variablen "wbQuelle" zuweisen
    Set wbQuelle = Workbooks.Open(pfad)

    ' Beispiel: Wert aus der geöffneten Datei lesen
    MsgBox "Der Wert in Zelle A1 ist: " & wbQuelle.Sheets(1).Range("A1").Value

    ' Datei wieder schließen (Speichern: False)
    ' wbQuelle.Close SaveChanges:=False
End Sub

4. Spezialfälle: Schreibgeschützt oder mit Passwort

Manchmal musst du Parameter beim Öffnen mitgeben:

Sub DateiSpezialOeffnen()
    ' Datei schreibgeschützt öffnen
    Workbooks.Open Filename:="C:\Test\Datei.xlsx", ReadOnly:=True

    ' Datei mit Passwort öffnen
    Workbooks.Open Filename:="C:\Test\Sicher.xlsx", Password:="1234"
End Sub

5. Fehler vermeiden: Existiert die Datei?

Bevor du Workbooks.Open ausführst, solltest du prüfen, ob die Datei überhaupt existiert, um eine Fehlermeldung zu vermeiden.

Sub DateiPruefenUndOeffnen()
    Dim pfad As String
    pfad = "C:\Test\CheckMich.xlsx"

    ' Prüfen mit der Dir-Funktion
    If Dir(pfad) <> "" Then
        Workbooks.Open pfad
    Else
        MsgBox "Fehler: Die Datei wurde nicht gefunden!", vbCritical
    End If
End Sub

6. Profi-Tipp: Bildschirmflackern ausschalten

Wenn du Dateien im Hintergrund öffnest, sieht das oft unschön aus. Nutze dies, um den Vorgang zu beschleunigen:

Sub SchnellesOeffnen()
    Application.ScreenUpdating = False ' Update ausschalten

    ' Hier dein Code zum Öffnen...
    Workbooks.Open "C:\Test\Daten.xlsx"

    Application.ScreenUpdating = True ' Update wieder einschalten
End Sub

Zusammenfassung: Welchen Befehl brauche ich?

Ziel Befehl
Fester Pfad Workbooks.Open "C:\Pfad\Datei.xlsx"
Nutzer wählen lassen Application.GetOpenFilename
Variable zuweisen Set wb = Workbooks.Open(...)
Fehler verhindern If Dir(pfad) <> "" Then ...

Hinweis: Achte bei Pfadangaben immer darauf, dass du die richtigen Backslashes (\) verwendest und die Dateiendung (.xlsx, .csv, .xlsm) korrekt ist.

0