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
Subscribe to get the latest posts sent to your email.
Ein Gedanke zu „VBA-Methoden: Eine Datei umbenennen“