Wenn du eine Datei „speicherst als“, hast du zwei Dateien. Einmal die ursprüngliche und einmal die mit einem neuen Namen und / oder einer anderen Extension.
Manchmal willst du eine Datei einfach nur umbenennen. Auch dazu bietet VBA eine Lösung.
1. Einfach umbenennen
Die umzubenennende Datei ist geschlossen. Deshalb wird jeweils der gesamte Pfad mit angegeben.
Sub Umbenennen1()
Name „C:\Excel\VBA_Datenblatt.xlsx“ As „C:\Excel\VBA_Datenblatt_2.xlsx“
End Sub
Wenn du das Ganze wieder rückgängig machen willst, tauscht du im zweiten Code die Bezeichnungen der Dateien.
Sub Umbenennen2()
Name „C:\Excel\VBA_Datenblatt_2.xlsx“ As „C:\Excel\VBA_Datenblatt.xlsx“
End Sub
2. Umbenennen mit Variablen
Es gibt dann noch die Möglichkeit, für den alten und neuen Namen jeweils eine Variable zu verwenden. Für das erste Beispiel sieht der Code dann so aus:
Sub Umbenennen3()
Dim strAltname As String
Dim strNeuname As String
strAltname=“C:\Excel\VBA_Datenblatt.xlsx“
strNeuname=“C:\Excel\VBA_Datenblatt_2.xlsx“
Name strAltname As strNeuname
End Sub
3. Umbenennen nach Liste
Vielfach gibt es eine ganze Reihe von Dateien in einem Ordner, die umbenannt werden sollen, beispielsweise wenn die Jahreszahl im Namen enthalten ist und ein neues Jahr begonnen hat.
Auf dem Laufwerk sollen z.B. die Dateien
- VBA-Umsatz_2016.xlsx
- VBA-Kosten_2016.xlsx
- VBA-Mengen_2016.xlsx
liegen. Sie sollen jeweils die Jahreszahl 2017 erhalten.
Da es auch sehr viel mehr als diese drei Dateien sein können, kann eine Auflistung im Arbeitsblatt nützlich sein.

Der folgende Code wird die Umbenennung der Dateien in Spalte B in die Dateien in Spalte C. vornehmen.
Das Makro wurde sehr ausführlich aufgeschrieben, Schritt für Schritt, so dass auch VBA-Neulinge die Prozedur verstehen sollten.
Sub Umbenennen4()
Dim intZeile As Integer
Dim strPfad As String
Dim strAltname As String
Dim strNeuname As String
Dim strAlt As String
Dim strNeu As String
strPfad=“C:\Excel\“
For intZeile=3 To 5
strAltname=Cells(intZeile,2).Value
strNeuname=Cells(intZeile,3).Value
strAlt=strPfad & strAltname
strNeu=strPfad & strNeuname
Name strAlt As strNeu
Next intZeile
End Sub
Komfortabler wäre es. die Dateien, die umbenannt werden sollen, per VBA aus dem Ordner auszulesen, sie in einer weiteren Spalte umbenennen und dann die Änderungen im Ordner vorzunehmen.
Das Auslesen von Dateien aus Ordnern ist aber eine andere Geschichte, die ich hier nicht behandle.
Entdecke mehr von Clevercalcul
Melde dich für ein Abonnement an, um die neuesten Beiträge per E-Mail zu erhalten.
Hallo Gerhard,
vielen Dank für deine Nachricht. Ich arbeite schon seit Jahren mit Leerzeichen, das macht keinerlei Probleme. Alle Dateien, die ich erhalte haben Leerzeichen. Aber nur wenige haben Sonderzeichen (Unicode, Emoji, Icons und arabische Buchstaben).
Da scheint auch das Problem zu liegen, denn wenn ich meine Excel-Tabelle auslesen will, dort stehen die Dateinamen mit allen Sonderzeichen, werden diese Zeichen mit ??? dargestellt.
Ich habe in anderen Anleitungen gesehen, dass man auch mit .object arbeiten kann. Da weiß ich aber noch nicht viel von.
Vielen Dank nochmal!
Hallo Gerhard, danke für die Antwort.
Ich verwende schon seit Jahres Leerzeichen in Dateinamen ohne Probleme. Das Problem beim Umbenennen sind die Sonderzeichen (Unicode, Emoji, arabische Schriften).
In meiner Excel-Tabelle werden alle Zeichen dargestellt.
Wenn ich die Daten auslese, bekomme ich an den Stellen mit den Sonderzeichen immer ??? angezeigt.
Die Originalnamen (Die Dateien kommen aus YouTube) beinhalten auch Leerzeichen.
Danke nochmals.
Hallo, vielen Dank für die Anleitung.
Leider funktioniert das nicht mit Dateinamen, die so aussehen:
„Lora Modelo – Beauty in the Ruins 🖤🔥 (Official Music Video).mkv“
„PARTII Stay with Me Always _ Quédate Conmigo Siempre _ いつも一緒にいて # Official Music.mkv“
„Rainbow Bridge Bliss in Healing Light # 癒しの光に輝く虹の橋の至福 # 치유의 빛에 빛나는 무지개 다리의 행복.mkv“
Wie kann man das lösen?
Bernd
Hallo, Dateinamen sollten keine Leerzeichen enthalten. Möglich wäre, die Leerzeichen z.B. durch einen Unterstrich (_) zu ersetzen. Dann sollte es klappen.
Allerdings hat das Dateiformat „.mkv“ nichts mit Excel zu tun. Damit habe ich jetzt keine Erfahrung.
Viel Glück.