Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Datei Namen per Batch ändern - VBA

Excel Datei Namen per Batch ändern - VBA
26.06.2017 09:39:59
Sasko
Hallo zusammen,
gibt es eine einfache Möglichkeit die Dateinamen per VBA zu ändern?
Userbild
Hier sieht man z.B. die Zahlen 06 für den aktuellen Monat. Ich habe ca 30 Dateien die ich jeden Monat manuell auf den neuen Monat in eine Zahl umbenennen muss. Jetzt müsste quasi wie im Bild oben zu sehen überall die "06" zu eine "07" umbenannt werden. Sowohl vorne als auch hinten im Datum.
Jemand eine Lösung?
Danke
LG
Sasko
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Datei Namen per Batch ändern - VBA
26.06.2017 11:38:17
Arthur
Hier ist eine kleine Sub, die das übernimmt:
Sub RenameMyFiles()
Const Pfad As String = "X:\"
Const FNMuster As String = "06_Test?_V1_(gültig_ab_?.06.?).xls*"
Dim FileName As String
Dim FileNameRen As String
FileName = Dir(Pfad & FNMuster)
While FileName  ""
FileNameRen = "07" & Mid$(FileName, 3, 24) & "07" & Mid$(FileName, 29)
Name Pfad & FileName As Pfad & FileNameRen
FileName = Dir()
Wend
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Excel Dateien per Batch umbenennen mit VBA


Schritt-für-Schritt-Anleitung

Um die Dateinamen per VBA einfach zu ändern, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Erstelle ein neues Modul:

    • Klicke im Menü auf Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Sub RenameMyFiles()
        Const Pfad As String = "X:\"
        Const FNMuster As String = "06_Test?_V1_(gültig_ab_?.06.?).xls*"
        Dim FileName As String
        Dim FileNameRen As String
        FileName = Dir(Pfad & FNMuster)
        While FileName <> ""
            FileNameRen = "07" & Mid$(FileName, 3, 24) & "07" & Mid$(FileName, 29)
            Name Pfad & FileName As Pfad & FileNameRen
            FileName = Dir()
        Wend
    End Sub
  4. Passe den Pfad (X:\) und das FNMuster an deine Bedürfnisse an.

  5. Führe das Skript aus:

    • Drücke F5 oder wähle Ausführen im Menü.

Diese Methode ermöglicht es dir, mehrere Dateien per Batch umzubenennen, indem du nur die Zahl im Dateinamen änderst.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Stelle sicher, dass der angegebene Pfad korrekt ist und die Dateien existieren.
  • Fehler: "Zugriff verweigert"

    • Überprüfe die Berechtigungen für den Ordner, in dem sich die Dateien befinden.
  • Fehler: "Undefinierte Funktion"

    • Stelle sicher, dass du VBA korrekt aktiviert hast und keine Tippfehler im Code vorhanden sind.

Alternative Methoden

Falls du keinen VBA-Code verwenden möchtest, kannst du auch eine Batch-Datei erstellen, um die Dateien umzubenennen. Hier ist ein einfaches Beispiel:

  1. Erstelle eine Textdatei und benenne sie in rename.bat um.

  2. Füge folgenden Code ein:

    @echo off
    setlocal enabledelayedexpansion
    set "old=06"
    set "new=07"
    for %%f in (*%old%*.xls) do (
        set "filename=%%f"
        set "newname=!filename:%old%=%new%!"
        ren "%%f" "!newname!"
    )
  3. Speichere die Datei und führe sie aus, um die alten Dateinamen zu ändern.

Diese Methode erfordert keine Programmierkenntnisse und ist eine schnelle Möglichkeit, um mehrere Dateien umzubenennen.


Praktische Beispiele

Stell dir vor, du hast folgende Dateien im Ordner:

  • 06_Test1_V1_(gültig_ab_01.06.2022).xls
  • 06_Test2_V1_(gültig_ab_05.06.2022).xls

Nach dem Ausführen des VBA-Codes oder der Batch-Datei sollten die Dateinamen wie folgt aussehen:

  • 07_Test1_V1_(gültig_ab_01.07.2022).xls
  • 07_Test2_V1_(gültig_ab_05.07.2022).xls

So kannst du sicherstellen, dass alle relevanten Informationen automatisch aktualisiert werden, ohne manuell eingreifen zu müssen.


Tipps für Profis

  • Regelmäßige Sicherung: Bevor du eine Batch-Aktion ausführst, erstelle immer eine Sicherung deiner Dateien.
  • Testlauf: Führe deinen VBA-Code oder die Batch-Datei zunächst in einem Testordner aus, um sicherzustellen, dass alles wie gewünscht funktioniert.
  • Automatisierung: Du kannst deine VBA-Skripte so einrichten, dass sie automatisch zur Monatswende ausgeführt werden, um Dateinamen stets aktuell zu halten.

FAQ: Häufige Fragen

1. Wie kann ich die Dateiendung von .xls auf .xlsx ändern?
Du kannst die Dateiendung in deinem VBA-Code anpassen, indem du *.xls* durch *.xlsx* ersetzt, um alle xlsx-Dateien zu erfassen.

2. Funktioniert dieser Prozess auch auf Mac?
Die VBA-Methode funktioniert in Excel für Mac, jedoch sind Batch-Dateien spezifisch für Windows. Du müsstest für Mac eine alternative Lösung finden, z.B. mit AppleScript.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige