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

Forumthread: mit VBA bestimmte Dateien öffnen

mit VBA bestimmte Dateien öffnen
09.01.2018 13:27:50
TinaW
Hallo liebes Forum,
ich stehe vor einem kleinen Problem und Weiss nicht ob es lösbar ist, so wie ich es haben möchte. Folgende Situation:
Ich habe eine UserForm1 mit einer ComboBox1. In dieser ComboBox kann ich verschiedene Projekte auswählen. Weiterhin habe ich auf der UserForm1 eine einen Click_Button1. Wenn nun ein Projekt_x aus der ComBobox auswähle ich diesen Button klicke, möchte ich gerne
Fall 1: Wenn für dieses Projekt noch keine gibt, die Datei aus dem Pfad x/:.....
(Gantt-Chart)öffnen und am ende speichern.
Fall 2: Wenn schon für dieses Projekt eine Datei gibt soll genau diese Datei geöffnet warden.
Zusammenfassung: ich habe eine Blanko-Gantt-Chart-Datei die ich für jedes Projekt anlegen möchte und wenn ich ein projekt auswähle, soll es entweder eine neue Datei zum bearbeiten öffnen oder die bereits für das Projekt gegebene Datei öffnen. :-(
Hat jemand eine Idee ? bin für alles dankbar miur fehlt jeder ansatz. Habe bisher nur per Click die Datei öffnen können .-(
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: mit VBA bestimmte Dateien öffnen
09.01.2018 14:04:40
Rudi
Hallo,
mal ins Blaue hinein:
Private Sub CommandButton1_Click()
Dim strFile As String
Const strPfad As String = "x:\GantChart_"
strFile = strPfad & ComboBox1 & ".xlsx"
If Dir(strFile, vbNormal) = "" Then
Workbooks.Open strPfad & "_Blank.xlsx"  'x:\GantChart_Blank.xlsx
Else
Workbooks.Open strFile    'x:\GantChart_ProjektNr.xlsx
End If
End Sub

Gruß
Rudi
Anzeige
AW: mit VBA bestimmte Dateien öffnen
09.01.2018 15:39:00
TinaW
Hallo Rudi,
vielen Dank für deine Antwort. Allerdings verstehe ich das kaum.
Ich würde es gerne verstehen. Kannst du evtl etwas näher auf deine Zeilen eingehen?
Beste Grüße und Dank im Voraus
Martina
AW: mit VBA bestimmte Dateien öffnen
09.01.2018 16:22:06
TinaW
Hallo Rudi,
vielen Dank für deine Antwort. Allerdings verstehe ich das kaum.
Ich würde es gerne verstehen. Kannst du evtl etwas näher auf deine Zeilen eingehen?
Beste Grüße und Dank im Voraus
Martina
Anzeige
AW: mit VBA bestimmte Dateien öffnen
10.01.2018 13:15:02
Rudi
Hallo,
besser?
Private Sub CommandButton1_Click()
Dim strFile As String
Const strPfad As String = "x:\"         'Suchpfad
strFile = strPfad & ComboBox1 & ".xlsx" ' Datei = Suchpfad & Projekt &.xlsx
If Dir(strFile, vbNormal) = "" Then     'Datei nicht vorhanden
Workbooks.Open strPfad & "GantChart_Blank.xlsx"  'leere Datei öffnen
Else                                               'Datei vorhanden
Workbooks.Open strFile                           'Datei öffnen
End If
End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dateien mit VBA in Excel öffnen


Schritt-für-Schritt-Anleitung

Um mit VBA eine Datei zu öffnen, kannst du folgende Schritte befolgen:

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

  2. Erstelle eine neue UserForm und füge eine ComboBox (z.B. ComboBox1) und einen Button (z.B. CommandButton1) hinzu.

  3. Doppelklicke auf den Button, um das Click-Ereignis zu erstellen.

  4. Füge den folgenden VBA-Code in das Click-Ereignis ein:

    Private Sub CommandButton1_Click()
       Dim strFile As String
       Const strPfad As String = "x:\"         ' Suchpfad
       strFile = strPfad & ComboBox1 & ".xlsx" ' Datei = Suchpfad & Projekt & .xlsx
       If Dir(strFile, vbNormal) = "" Then     ' Datei nicht vorhanden
           Workbooks.Open strPfad & "GantChart_Blank.xlsx"  ' leere Datei öffnen
       Else                                       ' Datei vorhanden
           Workbooks.Open strFile                 ' Datei öffnen
       End If
    End Sub
  5. Stelle sicher, dass du die ComboBox mit den richtigen Projektnamen füllst, bevor der Button geklickt wird.


Häufige Fehler und Lösungen

  • Datei nicht gefunden: Wenn du die Fehlermeldung erhältst, dass die Datei nicht gefunden werden kann, überprüfe den angegebenen Pfad und stelle sicher, dass die Datei tatsächlich existiert.

  • Falscher Dateityp: Achte darauf, dass du die richtige Dateiendung verwendest. Der Code ist für .xlsx-Dateien konzipiert. Wenn du andere Formate wie .xls verwenden möchtest, passe den Code entsprechend an.


Alternative Methoden

Eine andere Möglichkeit, Dateien zu öffnen, wäre die Verwendung des Application.GetOpenFilename-Dialogs, um dem Benutzer die Auswahl einer Datei zu ermöglichen:

Sub DateiAuswaehlen()
    Dim strFile As Variant
    strFile = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx), *.xls; *.xlsx")
    If strFile <> False Then
        Workbooks.Open strFile
    End If
End Sub

Praktische Beispiele

  1. Öffnen einer .xlsx-Datei:

    Verwende den oben beschriebenen Code, um eine vorgegebene Excel-Datei zu öffnen. Ändere den strPfad entsprechend deinem Speicherort.

  2. Öffnen einer .xls-Datei:

    Ändere den Code, um .xls-Dateien zu öffnen:

    strFile = strPfad & ComboBox1 & ".xls"

Tipps für Profis

  • Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um unerwartete Fehler beim Öffnen der Datei zu vermeiden:

    On Error Resume Next
    Workbooks.Open strFile
    If Err.Number <> 0 Then
       MsgBox "Fehler beim Öffnen der Datei.", vbExclamation
       Err.Clear
    End If
    On Error GoTo 0
  • Dateien im Verzeichnis auflisten: Nutze die Dir-Funktion, um alle Dateien in einem Verzeichnis aufzulisten und in der ComboBox anzuzeigen.


FAQ: Häufige Fragen

1. Wie öffne ich eine .xlsx-Datei mit VBA?
Du kannst die Workbooks.Open-Methode verwenden, um die .xlsx-Datei zu öffnen, wie im Beispiel oben gezeigt.

2. Was mache ich, wenn die Datei nicht vorhanden ist?
Du kannst einen Code verwenden, der überprüft, ob die Datei existiert, und in diesem Fall eine leere Vorlage öffnet.

3. Kann ich auch .xls-Dateien öffnen?
Ja, du kannst den Dateipfad und die Dateiendung im VBA-Code anpassen, um .xls-Dateien zu öffnen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige