Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateinamen ändern

Dateinamen ändern
11.09.2023 10:57:46
Bauer
Hallo zusammen,

ich habe ein Makro welches Dateinamen in Spalte A ausliest. Diese werden in ein Sheet auf des Tabellenblatt 1 eingeladen.

Auf dem Tabellenblatt 2 werden weitere Daten eingeladen.

Dann wird auf dem Tabellenblatt 1 in der Spalte J aus den geladenen Daten, mit Hilfe einiger Formeln/SVerweisen, ein neuer Dateiname zusammengestellt. Dieser ist mit einem Unterstrich verbunden.

Ich möchte danach den Dateinamen ändern.

BSP:

Spalte A: Spalte J: -neuer Name


1 1_A

2 2_B

3 3_C

4 4_D

5 5_E


Leider fehlen mir dazu die nötigen VBA Kenntnisse.

Wie kann man diese realisieren?

Vielen Dank vorab.

:-)

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen ändern
11.09.2023 18:44:03
Yal
Hallo Bauer,

man kann eine DOS-Befehldatei erzeugen, sogenannte Batch-Datei.
Für jede Datei erzeuge eine Zeile
rename Name1 Name2

kopiere die gesamte Liste in einer Textdatei, die Du in dem Verzeichnis zu handeln gespeichert wird.
Ändere die Endung der Datei von .txt in .bat
Doppelklick auf die Datei.

Mache zuerst einen Versuch mit nur eine Datei.
Achte darauf, keine Überschneidung zu haben (2 Dateien mit gleichem Zielname).

Ansonsten per VBA: https://www.excel-inside.de/beispiele_vba/vba-workbooks-datei/244-umbenennen-von-dateien-per-vba
Aber wenn Du VBA zum ersten Mal anfasst, würde ich nicht mit Datei umbenennen anfangen.

VG
Yal
Anzeige
AW: Dateinamen ändern
11.09.2023 21:24:05
Piet
Hallo

mit diesem kleinen VBA Code kannst du beliebig viele Dateien ganz simpel umbenennen.
Ich erstellte mir in Spalte B eine Ordner Liste mit allen Dateien. In Zelle B1 steht der Ordnerpfad.
Dann wird mit Spalte J vergleichen, bei neuem Namen wird die Datei umbenannt.

mfg Piet

  • Sub Dateien_umbenennen()
    Dim oldName As String, newName As String
    Dim sPfad As String, n As Long, z As Long

    Sheets("Tabelle1").Select
    sPfad = Range("B1").Value 'Ordner Pfad laden
    Zeilen = Cells(Rows.Count, 2).End(xlUp).Row 'Zeilen
    If Right(sPfad, 1) > "\" Then sPfad = sPfad & "\"

    On Error GoTo Fehler
    'Spalte J in neue Datei umbenennen
    For z = 3 To Zeilen
    newName = Empty: oldName = Empty
    oldName = Trim(Cells(z, "B")) 'Spalte "B"
    newName = Trim(Cells(z, "J")) 'Spalte "J"
    If newName > "" And newName > oldName Then
    Name sPfad & oldName As sPfad & newName
    n = n + 1
    End If
    Next z
    'Ende mit Anzeige wieviele umbenannt wurden
    MsgBox n & " Dateien umbenannt"
    Exit Sub
    Fehler: MsgBox "Fehler bei: " & oldName & " / " & newName
    End Sub
  • Anzeige
    AW: Dateinamen ändern
    12.09.2023 10:47:33
    Bauer
    Habe jetzt diesen Code erstellt.
    Leider bleibt er auf der letzten Zeile hängen.

    FileCopy QuellOrdner & AlterName, ZielOrdner & NeuerName

    Wenn ich mit der Maus drüber gehe, dann zeigt er mir die Richtigen Pfade und Dateinamen an, aber kopiert die Daten nicht auf das Zielpfad.

    Habt ihr ein Rat?

    Vielen Dank

    Sub KopiereUndBenennePDF()
    Dim QuellOrdner As String
    Dim ZielOrdner As String
    Dim Ws As Worksheet
    Dim Zeile As Long

    ' Setzen Sie den Pfad zum Quell- und Zielordner
    QuellOrdner = "F:\Makro Tests\1" ' Hier den Pfad zum Quellordner eintragen
    ZielOrdner = "F:\Makro Tests\2" ' Hier den Pfad zum Zielordner eintragen

    ' Setzen Sie die Arbeitsblattreferenz
    Set Ws = ThisWorkbook.Worksheets("Abgleich") ' Hier den Namen Ihres Arbeitsblatts eintragen

    ' Durchlaufen Sie die Zeilen der Tabelle
    For Zeile = 2 To Ws.Cells(Rows.Count, 1).End(xlUp).Row
    Dim AlterName As String
    Dim NeuerName As String

    ' Lesen Sie die alten und neuen Dateinamen aus der Tabelle
    AlterName = Ws.Cells(Zeile, 1).Value
    NeuerName = Ws.Cells(Zeile, 2).Value & ".pdf"

    ' Kopieren und umbenennen der Datei
    FileCopy QuellOrdner & AlterName, ZielOrdner & NeuerName
    Next Zeile
    End Sub
    Anzeige
    AW: Dateinamen ändern
    12.09.2023 12:03:27
    Yal
    Hallo Bauer,

    wenn die Datei nicht gefunden wird, wird nichts kopiert.
    Deine Verzeichnis-Definition muss mit "\" enden, sonst ist die Zusammenfassung
    F:\Makro Tests\1ersteDateiname.xls
    und nicht
    F:\Makro Tests\1\ersteDateiname.xls

    Zeichenkette, die sich während dem Codefverlauf nicht ändern, kann man als Konstanten definieren (macht den Code leichter).
    Variablen werden immer am Anfang definiert ("Dim"). Wo und wann diese tatsächlich entstehen, verwaltet VBA selbst.

    (platziere bitte dein Code anhand der Markierung, siehe oben "Code <pre...")
    Sub KopiereUndBenennePDF()
    
    Dim Ws As Worksheet
    Dim Zeile As Long
    Dim AlterName As String
    Dim NeuerName As String

    ' Setzen Sie den Pfad zum Quell- und Zielordner
    Const cQVerz = "F:\Makro Tests\1\" ' Hier den Pfad zum Quellordner eintragen
    Const cZVerz = "F:\Makro Tests\2\" ' Hier den Pfad zum Zielordner eintragen

    ' Setzen Sie die Arbeitsblattreferenz
    Set Ws = ThisWorkbook.Worksheets("Abgleich") ' Hier den Namen Ihres Arbeitsblatts eintragen

    ' Durchlaufen Sie die Zeilen der Tabelle
    For Zeile = 2 To Ws.Cells(Rows.Count, 1).End(xlUp).Row
    ' Lesen Sie die alten und neuen Dateinamen aus der Tabelle
    AlterName = Ws.Cells(Zeile, 1).Value
    NeuerName = Ws.Cells(Zeile, 2).Value & ".pdf"
    ' Kopieren und umbenennen der Datei
    FileCopy cQVerz & AlterName, cZVerz & NeuerName
    Next Zeile
    End Sub


    VG
    Yal
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige