Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
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

Dateien umbenennen

Dateien umbenennen
01.07.2019 12:53:53
Alina
Hallo,
leider kenne ich mich mit VBA eigentlich überhaupt nicht aus und das Internet konnte mir bis jetzt auch nicht helfen.
Ich versuche mich gerade an einem Makro, welches überprüft ob meine Dateien vollständig sind.
Mit dem Makro lässt sich ein beliebiger Ordner auswählen und wendet den Code dann nacheinander auf alle Dateien in diesem Ordner an.
Um zu schauen ob die Datei vollständig ist, wird überprüft ob in der Spalte C irgendwo das Wort "Quit" vorkommt. Ist das der Fall soll der alte Dateiname um "_Abbruch" ergänzt werden. Also aus VP_13 wird VP_13_Abbruch.
Theoretisch steht der Dateiname auch in der Zelle A5, also kann auch der Name aus der Zelle als Dateiname verwendet werden und um "Abbruch" ergänzt werden.
Ich komme jetzt aber leider nur so weit, dass ich den Ordner auswählen und überprüfen kann ob " _ Quit" enthalten ist. An dem Umbenennen scheitere ich.

Sub Vollstaendigkeitpruefen()
Dim xFd As FileDialog
Dim xSPath As String
Dim xxlsxFile As String
Dim xWsheet As String
'Ordner auswählen
Application.DisplayAlerts = False
Application.StatusBar = True
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
xFd.Title = "Select a folder:"
If xFd.Show = -1 Then
xSPath = xFd.SelectedItems(1)
Else
Exit Sub
End If
If Right(xSPath, 1)  "\" Then xSPath = xSPath + "\"
xxlsxFile = Dir(xSPath & "*.xlsx")
Do While xxlsxFile  ""
Application.StatusBar = "Converting: " & xxlsxFile
Workbooks.Open Filename:=xSPath & xxlsxFile
Dim Zeile As Long
maxZeile = Cells(Rows.Count, "A").End(xlUp).Row
For Zeile = 2 To maxZeile
If Cells(Zeile, 3).Value = "Quit" Then
HIER MÜSSTE DANN DIE DATEI UMBENANNT WERDEN
End If
Next
ActiveWorkbook.Save
ActiveWorkbook.Close
xxlsxFile = Dir
Loop
Application.StatusBar = False
Application.DisplayAlerts = True
End Sub

Den Code habe ich mehr oder weniger aus dem Internet zusammen kopiert.
Über Hilfe würde ich mich freuen!
Liebe Grüße
Alina

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien umbenennen
01.07.2019 12:59:00
Torsten
Hallo,
z.B.:

xxlsxFile.SaveAs xSPath & xxlsxFile & "_Abbruch"
Gruss Torsten
AW: Dateien umbenennen
01.07.2019 13:03:56
Torsten
Sorry,
Dateiendung vergessen ;-P
xxlsxFile.SaveAs xSPath & xxlsxFile & "_Abbruch" & ".xlsx"

AW: Dateien umbenennen
01.07.2019 13:14:25
Alina
Hey,
Leider bekomme ich noch immer den gleichen Fehler... auch wenn ich die Dateiendung hinzufüge
AW: Dateien umbenennen
01.07.2019 13:04:25
Alina
Hallo Torsten,
danke für die schnelle Antwort.
Wenn ich deine Zeile einfüge bekomme ich einen Fehler beim Kompilieren: Ungültiger Bezeichner und markiert wird dabei "xxlsxFile"
Weißt du vielleicht woran das liegen kann?
Lg
Alina
Anzeige
AW: Dateien umbenennen
01.07.2019 13:05:51
Rudi
Hallo,
du musst die Datei schließen bevor du sie umbenennen kannst.
Sub Vollstaendigkeitpruefen()
Dim xFd As FileDialog
Dim xSPath As String
Dim xxlsxFile As String
Dim xWsheet As String
Dim wkb As Workbook
Dim bolQUIT As Boolean
'Ordner auswählen
Application.DisplayAlerts = False
Application.StatusBar = True
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
xFd.Title = "Select a folder:"
If xFd.Show = -1 Then
xSPath = xFd.SelectedItems(1)
Else
Exit Sub
End If
If Right(xSPath, 1)  "\" Then xSPath = xSPath & "\"
xxlsxFile = Dir(xSPath & "*.xlsx")
Do While xxlsxFile  ""
bolQUIT = False
Application.StatusBar = "Converting: " & xxlsxFile
Set wkb = Workbooks.Open(Filename:=xSPath & xxlsxFile)
bolQUIT = Not IsError(Application.Match("Quit", Columns(3), 0))
wkb.Close False
If bolQUIT Then
Name xSPath & xxlsxFile As Replace(xxlsxFile, ".xlsx", "_Abbruch.xlsx")
End If
xxlsxFile = Dir
Loop
Application.StatusBar = False
Application.DisplayAlerts = True
End Sub

Gruß
Rudi
Anzeige
AW: Dateien umbenennen
01.07.2019 13:10:27
Rudi
anstatt name ... as ...
       bolQUIT = Not IsError(Application.Match("Quit", Columns(3), 0))
If bolQUIT Then
wkb.SaveAs xSPath & Replace(xxlsxFile, ".xlsx", "_Abbruch"), xlOpenXMLWorkbook
End If
wkb.Close False
xxlsxFile = Dir
Loop

AW: Dateien umbenennen
01.07.2019 13:20:20
Alina
Hey Rudi,
danke für die schnelle Antwort.
Leider funktioniert der Code nicht. Also ich kann ihn ausführen und sehe auch dass alle Dateien geöffnet und wieder geschlossen werden, aber am Ende heißen alle Dateien noch so wie davor.
Eine Fehlermeldung bekomme ich auch nicht.
LG Alina
AW: Dateien umbenennen
01.07.2019 13:24:53
Rudi
Hallo,
dann steht nicht nur "Quit" in C. " Quit"; "Quit "
Anzeige
AW: Dateien umbenennen
01.07.2019 13:27:47
Alina
Hey, ja damit hast du Recht. Sorry das ist mir nicht aufgefallen.
Also vielen Dank schonmal!
Mit deinem Code werden jetzt ja alle umbenannten Dateien in einen anderen Ordner gespeichert.
Gibt es auch eine Möglichkeit, dass die Dateien dann in dem ursprünglichen Ordner bleiben? Und vielleicht auch noch, dass die Originaldateien gelöscht werden? Also dass wenn Vp_13 unvollständig ist nur noch in dem Ordner Vp_13_Abbruch ist? Alle anderen vollständigen Dateien sollten aber erhalten bleiben...
Liebe Grüße und vielen Dank
Alina

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige