Option Explicit
Option Compare Text
' ****************************************************************
' Autor/en und Original-Quelltext unter:
' https://www.online-vba.de/vba_multidateiformatupdate.php
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von https://www.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