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

Forumthread: Excel Datei .xls und .xlsx VBA Makro Öffnen

Excel Datei .xls und .xlsx VBA Makro Öffnen
27.10.2014 15:00:08
ismet

Sub main()
Dim wk As Workbook
Call cleanSheet     'Aufräumen
iRowToWrite = 1     '
DatOP = Application.GetOpenFilename("Excel-Dateien(*.xls, *.xlsx), *.xls, *.xlsx",  _
MultiSelect:=True)  'Eine Exel-Datei mit Endung .xls öffnen mit Multi-Auswahl
'        ---> Hier stimmt was nicht Öffnet nur xlsx-Dateien davor nur xls
'     bevor ich xlsx dazugefügt habe.
If fileToOpen  False Then         'Abfrage
MsgBox "Open " & fileToOpen
End If
If IsArray(DatOP) Then
For Each x In DatOP
Set wk = Workbooks.Open(x)
Call readData
Application.ScreenUpdating = False         'Speicher Abfrage nicht Anzeigen
ActiveWorkbook.Saved = True                ''Speicher das geöffnet Wk, der  _
ausgelesen wird!
Application.ScreenUpdating = True          '
wk.Close
Next
End If
End Sub

Ich muss bei DataOp = Application.GetOpenFilename("Excel.......
xls und xlsx Dateien beides Öffnen können, bei mir funktioniert nur, mit diesem Code xlsx könnt ihr mir Bitte helfen.

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Datei .xls und .xlsx VBA Makro Öffnen
27.10.2014 15:06:06
yummi
Hallo ismet
DatOP = Application.GetOpenFilename("Excel-Dateien(*.xls; *.xlsx), *.xls; *.xlsx", _
MultiSelect:=True)
Gruß
yummi

AW: Excel Datei .xls und .xlsx VBA Makro Öffnen
27.10.2014 15:45:11
ismet
Danke Yummi für die antwort,
hab es so gemacht und funktioniert super.
DatOP = Application.GetOpenFilename("Excel-Dateien(*.xls*), *.xls*", MultiSelect:=True)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Datei .xls und .xlsx mit VBA Makro Öffnen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub main()
        Dim wk As Workbook
        Dim DatOP As Variant
    
        DatOP = Application.GetOpenFilename("Excel-Dateien(*.xls; *.xlsx), *.xls; *.xlsx", MultiSelect:=True)
    
        If DatOP <> False Then
            If IsArray(DatOP) Then
                For Each x In DatOP
                    Set wk = Workbooks.Open(x)
                    ' Hier kannst du deine Datenverarbeitung einfügen
                    wk.Close
                Next
            Else
                Set wk = Workbooks.Open(DatOP)
                ' Hier kannst du deine Datenverarbeitung einfügen
                wk.Close
            End If
        Else
            MsgBox "Keine Datei ausgewählt."
        End If
    End Sub
  4. Makro ausführen: Führe das Makro mit F5 aus oder gehe zurück zu Excel und führe das Makro aus dem Menü "Entwicklertools" aus.


Häufige Fehler und Lösungen

  • Problem: Das Makro öffnet nur .xlsx-Dateien.

    • Lösung: Stelle sicher, dass der filefilter in der GetOpenFilename-Funktion korrekt angegeben ist. Verwende ("Excel-Dateien(*.xls; *.xlsx), *.xls; *.xlsx") für beide Dateitypen.
  • Problem: Fehlermeldung "Keine Datei ausgewählt".

    • Lösung: Überprüfe, ob der Benutzer tatsächlich eine Datei ausgewählt hat. Der Rückgabewert von GetOpenFilename sollte überprüft werden, bevor mit der Verarbeitung fortgefahren wird.

Alternative Methoden

  • Datei öffnen ohne VBA: Du kannst auch die Öffnen-Funktion in Excel nutzen, um .xls und .xlsx-Dateien manuell zu öffnen.
  • Verwendung von Power Query: Eine weitere Möglichkeit, Daten aus verschiedenen Dateiformaten zu importieren, ist die Nutzung von Power Query in Excel.

Praktische Beispiele

  1. Öffnen einer .xls-Datei:

    • Wenn du eine .xls-Datei hast, kannst du das Makro verwenden, um sie auszuwählen und zu öffnen.
  2. Verarbeiten mehrerer Dateien:

    • Der Code erlaubt die Auswahl mehrerer Dateien. Du kannst die Schleife anpassen, um spezifische Daten zu extrahieren oder zu bearbeiten.

Tipps für Profis

  • Dateifilter anpassen: Du kannst den filefilter so anpassen, dass er nur bestimmte Dateitypen akzeptiert, um die Benutzererfahrung zu verbessern.
  • Error Handling: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler während der Dateiverarbeitung zu vermeiden.

FAQ: Häufige Fragen

1. Was ist eine .xlsx-Datei?
Eine .xlsx-Datei ist das standardisierte Dateiformat für Excel-Tabellen, das seit Excel 2007 verwendet wird. Es basiert auf XML und ermöglicht eine bessere Datenkompression.

2. Wie kann ich eine .xls-Datei in .xlsx konvertieren?
Du kannst eine .xls-Datei einfach in Excel öffnen und dann über "Datei" > "Speichern unter" das Format auf .xlsx ändern. Alternativ kannst du auch VBA verwenden, um diese Konvertierung programmgesteuert durchzuführen.

3. Was sind die Unterschiede zwischen .xls und .xlsx?
.xls ist das ältere Format, das vor Excel 2007 verwendet wurde, während .xlsx das neuere Format ist, das mehr Funktionen und eine bessere Leistung bietet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige