*.XLS Dateien als *.XLSX speichern

VBA und Makros
Codeschnipsel
Arbeitsblatt
Dateien im Verzeichnis
Dateien öffnen und schließen
Dateien speichern
Batch
Excel

Ausgangslage - Was tut dieser Code-Schnipsel?

Dieses kleine Makro öffnet alle *.XLS Dateien in einem Verzeichnis und speichert diese im neuen Dateiformat als *.XLSX (OpenXMLFormat) im selben Verzeichnis.

Der Quelltext

Option Explicit
Option Compare Text
' Original-Quelltext unter: https://www.online-vba.de/xls-dateien-als-xlsx-speichern
' Express-Hilfe für VBA unter https://www.online-vba.de/vba-expresshilfe
' Es gelten die Nutzungsbedingungen von Online-VBA.de

'Wichtiger Hinweis: Die XLS Dateien, die umgewandelt werden, dürfen keine Makros enthalten!
'Grund: Das XLSX Format beinhaltet keine Makros!!!

Public Sub OVBAde_MultiDateiFormatUpdate()
  Dim oSourceBook As Object
  Dim sPfad As String
  Dim sDatei As String
    
    Application.ScreenUpdating = False 'Das "Flackern" ausstellen
    
    'Schritt 1: Schleife über alle Excel Dateien in einem Verzeichnis
    sPfad = "C:\TEST\XLS2XLSX\"
    sDatei = Dir(CStr(sPfad & "*.xls")) 'Alle *.xls Dateien
    
    Do While sDatei <> ""
    
        'Schritt 2: Öffnen der Datei und Datenübertragung
        Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) 'nur lesend öffnen
        
        'Schritt 3: Datei speichern und wieder zu machen und nächste Schleifenrunde
        Application.DisplayAlerts = False
        'Speichern im XLSX Format
        oSourceBook.SaveAs Filename:=CStr(sPfad & sDatei & "x"), FileFormat:=xlOpenXMLWorkbook
        oSourceBook.Close False
        Application.DisplayAlerts = True
        
        'Nächste Datei
        sDatei = Dir()
    Loop
    
    Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
    
    'Variablen aufräumen
    Set oSourceBook = Nothing
End Sub

Anmerkungen und Hinweise

Wichtiger Hinweis: Die XLS Dateien, die umgewandelt werden, dürfen keine Makros enthalten!
Grund: Das XLSX Format beinhaltet keine Makros!!!
Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2013.
Die Nutzung erfolgt auf eigene Gefahr. Bitte denken Sie immer zuerst an eine ausreichende Datensicherung. Wir können keinen kostenlosen Support anbieten. Es gelten unsere Nutzungs­bedingungen.


So einfach läuft unsere VBA-Expresshilfe ab

1
Senden Sie uns Ihre Office-Datei oder Ihren VBA-Code (gerne anonymisiert) mit einer kurzen Problembeschreibung oder Ihrem Erweiterungswunsch per E-Mail.
2
Wir analysieren Ihr Anliegen schnell und schicken Ihnen umgehend (tagsüber meist innerhalb von 1-2 Stunden) ein Festpreis-Angebot.
3
Nach Ihrer Zustimmung lösen wir Ihr Problem (meist noch am gleichen Tag) oder setzen Ihre Erweiterung zuverlässig um – inklusive verständlicher Dokumentation der durchgeführten Maßnahmen.

Jetzt kontaktieren!







Mit einem * gekennzeichnete Eingabefelder sind Pflichtfelder.
Datenschutzhinweise zum Kontaktformular: Die von Ihnen im Kontaktformular bereitgestellten Daten werden ausschließlich zur Bearbeitung Ihrer Anfrage verwendet und nicht ohne Ihre Zustimmung an Dritte weitergegeben. Ihre Daten werden nur für den Zeitraum gespeichert, der zur Bearbeitung Ihrer Anfrage erforderlich ist. Weitere Hinweise zum Datenschutz finden Sie in unserer Datenschutzerklärung.
Hinweis: Für die vollständige Funktion dieser Website ist JavaScript erforderlich.
Bitte aktivieren Sie JavaScript in Ihrem Browser, um alle Inhalte und interaktiven Funktionen nutzen zu können.