Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateinamen von 200 Dateien per Makro umbenennen ?

Dateinamen von 200 Dateien per Makro umbenennen ?
02.07.2008 13:10:00
200
hallo,
kann mithilfe eines Makros Dateien umbenennen?
Ich habe ca. gleichartige 200 Dateien deren Name so aufgebaut ist:
JJJJMMTTtext.xls
Jetzt möchte man die Trennung von Jahr Monat und Tag per Bindetsrich, damit das dann so aussieht:

JJJJ-MM-TTtext.xls

Kann man sowas mithilfe eines makros realisieren?

Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen von 200 Dateien per Makro umbenennen ?
02.07.2008 13:57:53
200
Hallo
hier ein abgeändertes Makro:


Option Explicit
Sub alle_Dateien_Verzeichnis() '
    Dim dlg As FileDialog
    Dim Si, Ext$, Datei$, PfadDatei$, Datum$, Rest$, NeuName$
    Set dlg = Application.FileDialog(msoFileDialogFolderPicker) 'Verzeichnis wählen
    If dlg.Show = True Then
        For Each Si In dlg.SelectedItems 'Die Abfrage für den selektierten Eintrag
            Ext = "*.xls*"       'Dateiextension ggf. anpassen
            Si = IIf(Right(Si, 1) = "\", Si, Si & "\")
            Datei = Dir(Si & Ext)
            Do While Len(Datei) > 0
                Datum = Left(Datei, 6)
                Rest = Right(Datei, Len(Datei) - 6)
                NeuName = Si & Format(Datum, "00-00-00") & Rest
                PfadDatei = Si & Datei
                Name PfadDatei As NeuName
                Datei = Dir() ' nächste Datei
            Loop
        Next
    End If
End Sub
Ggf. erst eine Sicherung der Dateien vornehmen.
Gruß UweD

Anzeige
das war leider falsch
03.07.2008 08:17:00
greenhorn
da hab ich mir leider einen fehler eingehandelt.
jetzt sehen die namen so aus:
Userbild
Kein Beinbruch, aber wie kann man es nochmal ins gewünschte ändern?
christian

AW: das war leider falsch
03.07.2008 10:29:53
UweD
Hallo
ups...
Ich hab die Jahreszahl nur 2stellig angenommen... sorry
so muß die Zeile richtige lauten. (bezogen auf die ursprünglichen Namen)
NeuName = Si & Format(Datum, "0000-00-00") & Rest
Gruß UweD

Anzeige
AW: das war leider falsch
03.07.2008 12:43:12
UweD
Hi
diese Zeilen müssen natürlich mit geändert werden...
Datum = Left(Datei, 8)
Rest = Right(Datei, Len(Datei) - 8)
NeuName = Si & Format(Datum, "0000-00-00") & Rest
Gruß UweD

so passts
03.07.2008 15:58:00
greenhorn
danke.

AW: Dateinamen von 200 Dateien per Makro umbenennen ?
02.07.2008 14:04:00
200
Hallo,
ich hab mal ein mehr oder weniger universelles Umbenennungstool geschrieben:
https://www.herber.de/bbs/user/53526.xls
Liest aus einem anzugebenden Verzeichnis eine Liste von Dateien mit anzugebendem Suchmuster (z.B. *.xls)
Dann muss man im Blatt "Dateien" in Spalte C eine Formel eingeben und runterkopieren, die die neuen Dateinamen ergeben.
Dann Klick auf Umbenennen und fertig.
Allerdings muss man selbst schauen, dass Dateinamen in Spalte C nicht doppelt vorkommen.
Gruß Matthias

Anzeige
noch ein kleines problem meinerseits...
03.07.2008 08:14:00
greenhorn
hallo,
erstmal danke für deine mühe. Das man dies universell anwenden kann ist super.
Ich habe aber noch ein kleines pronlem mit der formel-eingabe des neuen dateinamens.
Ich habe das runterkopieren wollen, allerdings macht er es nicht wie gewünscht, es sieht so aus:
Userbild
Was mache ich falsch?
christian

Anzeige
AW: noch ein kleines problem meinerseits...
03.07.2008 08:20:08
Matthias
Hallo Christian,
welche Formel hast du denn verwendet?
Gruß Matthias

AW: noch ein kleines problem meinerseits...
03.07.2008 08:22:55
greenhorn
im prinzip gar keine (bin ja so gut wie gar nicht VBA-bewandert)
ich hatte es einfach manuell rüberkopiert, modifiziert und nach unten ausfüllen wollen.
Aber das hatte ich mir wohl zu leicht vorgestellt, oder?

Anzeige
AW: noch ein kleines problem meinerseits...
03.07.2008 08:26:00
Matthias
Hi,
na es ist eigentlich so gedacht, dass man in C1 eine Formel schreibt, z.B.:
=A1 & ".txt"
und diese dann nach unten zieht:
Tabelle2
 ABC
1Datei1.xls Datei1.xls.txt
2Datei2.xls Datei2.xls.txt
3Datei3.xls Datei3.xls.txt
4Datei4.xls Datei4.xls.txt
5Datei5.xls Datei5.xls.txt
6Datei6.xls Datei6.xls.txt
Formeln der Tabelle
C1 : =A1&".txt"
C2 : =A2&".txt"
C3 : =A3&".txt"
C4 : =A4&".txt"
C5 : =A5&".txt"
C6 : =A6&".txt"
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Sonst klappt es ja nicht mit den Dateinamen. Das ist doch einfach ne Formel und hat mit VBA nix zu tun...
Gruß Matthias

Anzeige
AW: noch ein kleines problem meinerseits...
03.07.2008 08:29:50
greenhorn
stimmt, was hab ich mir bloß dabei gedacht. Wahrscheinlich nichts.
Mein Bild zeigt bereits einen konkreten Fall, könntest du mir da mit einer Formel weiterhelfen?
christian

AW: noch ein kleines problem meinerseits...
03.07.2008 08:35:34
Matthias
Hi Christian,
so?
=TEIL(A1;1;2)&TEIL(A1;4;2)&"-"&TEIL(A1;7;2)&"-"&TEIL(A1;9;100)


Gruß Matthias

Anzeige
SPITZENMÄßIG .... !!!!!
03.07.2008 09:06:00
greenhorn
ich danke vielmals.
Ich denke damit hab ich auch meine VBA-Kenntnisse auch ein bischen erweitert.
christian

AW: SPITZENMÄßIG .... !!!!!
03.07.2008 09:09:38
Matthias
Hallo Christian,
Ich denke damit hab ich auch meine VBA-Kenntnisse auch ein bischen erweitert.
Mit der Formel?
;-)
Gruß Matthias

Anzeige
AW: SPITZENMÄßIG .... !!!!!
03.07.2008 09:16:08
greenhorn
auch, aber hauptsächlich mit dem was im Modul steht.
=)

AW: Dateinamen von 200 Dateien per Makro umbenennen ?
02.07.2008 15:10:00
200
Hallo
folgenden Code solltest du aber zuerst in einem Testordner ausführen! Es ist noch keine Fehlerroutine eingebaut:
Sub Dateien_umbenennen() Dim Pfad As String Pfad = "Z:\Documents and Settings\TSISADA1\My Documents\Test VBA\Dateien umbenennen\" Name = Dir(Pfad) Do Until Name = "" Name Pfad & Name As Pfad & Left(Name, 4) & "-" & Mid(Name, 5, 2) & "-" & Mid(Name, 7, 2) & _ Right(Name, Len(Name) - 8) & ".xls" Name = Dir() Loop End Sub


Viel Erfolg
Dani

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dateinamen von 200 Dateien mit Excel VBA umbenennen


Schritt-für-Schritt-Anleitung

Um mehrere Dateien mit VBA in Excel umzubenennen, kannst du das folgende Makro verwenden. Dieses Skript ändert die Dateinamen von 200 Dateien im Format JJJJMMTTtext.xls zu JJJJ-MM-TTtext.xls.

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

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    
    Sub Dateien_umbenennen()
       Dim Pfad As String
       Pfad = "C:\Dein\Pfad\Zu\Den\Dateien\" ' Ändere den Pfad entsprechend
       Dim Name As String
    
       Name = Dir(Pfad & "*.xls*")
       Do Until Name = ""
           Name Pfad & Name As Pfad & Left(Name, 4) & "-" & Mid(Name, 5, 2) & "-" & Mid(Name, 7, 2) & Right(Name, Len(Name) - 8) & ".xls"
           Name = Dir()
       Loop
    End Sub
  4. Ändere den Pfad zu den Dateien in der Zeile Pfad = "C:\Dein\Pfad\Zu\Den\Dateien\".

  5. Führe das Makro aus: Klicke auf Run oder drücke F5.

Dieses Makro wird die Dateinamen im gewünschten Format umbenennen.


Häufige Fehler und Lösungen

  • Problem: "Die Dateinamen sehen nach dem Umbenennen nicht richtig aus."

    • Lösung: Überprüfe, ob die Zeichenfolgen in deinem Dateinamen korrekt sind. Stelle sicher, dass die Jahr-Monat-Tag-Trennung korrekt im Code berücksichtigt wird.
  • Problem: "Das Makro gibt einen Fehler aus."

    • Lösung: Stelle sicher, dass der Pfad korrekt ist und die Dateien existieren. Du kannst auch einen Testordner verwenden, um sicherzustellen, dass alles funktioniert, bevor du es auf deine Hauptdateien anwendest.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch Tools von Drittanbietern verwenden, um Dateien umbenennen. Es gibt viele kostenlose Softwarelösungen, die das Umbenennen von mehreren Dateien gleichzeitig unterstützen, wie zum Beispiel:

  • Bulk Rename Utility: Ein leistungsstarkes Tool für das Batch-Umbenennen von Dateien.
  • Advanced Renamer: Eine benutzerfreundliche Software, die das Umbenennen basierend auf verschiedenen Kriterien ermöglicht.

Praktische Beispiele

Hier sind einige Beispiele für die Verwendung von Excel-Formeln, um Dateinamen zu ändern:

  • Wenn du eine Liste von Dateinamen in Excel hast, kannst du die folgende Formel verwenden, um sie zu formatieren:

    =LINKS(A1,4) & "-" & TEIL(A1,5,2) & "-" & TEIL(A1,7,2) & RECHTS(A1,LÄNGE(A1)-8)

Diese Formel nimmt an, dass der ursprüngliche Dateiname in Zelle A1 steht.


Tipps für Profis

  • Sicherung der Daten: Mache immer eine Sicherung deiner Dateien, bevor du ein Makro ausführst. So kannst du im Notfall auf die Originaldateien zurückgreifen.
  • Testen in einer sicheren Umgebung: Führe dein Makro zuerst in einem Testordner aus, um sicherzustellen, dass alles wie gewünscht funktioniert.
  • Fehlerbehandlung einbauen: Integriere Fehlerbehandlungsroutinen in dein Makro, um es robuster zu machen.

FAQ: Häufige Fragen

1. Kann ich auch andere Dateiformate umbenennen? Ja, du kannst den Dateityp im Code anpassen, indem du die Zeile Name = Dir(Pfad & "*.xls*") änderst, um z.B. *.txt zu verwenden.

2. Wie kann ich sicherstellen, dass keine doppelten Dateinamen entstehen? Überprüfe die neuen Dateinamen in Excel, bevor du das Makro ausführst, um sicherzustellen, dass sie nicht identisch sind.

3. Geht das Umbenennen auch mit Word-Dateien? Ja, die gleiche Technik kann auch für Word-Dateien verwendet werden, indem du die entsprechenden Dateierweiterungen im VBA-Code anpasst.

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