Hallo nochmal,
probiers mal mit diesem Code. Der listet alle überflüssigen Dateien in einem neuen Sheet auf. Wenn du die dann wirklich löschen willst, setze die Variable loeschen ganz oben im Code auf True und führe den Code erneut aus.
Sub FotosLoeschen()
Pfad = "E:\Fotos\Test"
listall = False 'True es werden alle Files gelistet, False es werden nur überflüssige Files gelistet
loeschen = False 'False Die Files werden nur gelistet, True Überflüssige Files werden gelöscht
Set Liste = Sheets("Tabelle1").Range("N:N") 'Vergleichsliste mit zu behaltenden Files
Set NewSheet = Sheets.Add
Set fs = CreateObject("Scripting.FileSystemObject")
Set fd = fs.GetFolder(Pfad)
Set flist = fd.Files
If loeschen = True Then frage = MsgBox("Wollen Sie wirklich alle überflüssigen Dateien " _
& "im Ordner " & Pfad & " löschen?", vbCritical + vbYesNoCancel)
If frage = vbCancel Then Exit Sub
i = 1
NewSheet.Range("N1") = IIf(frage = vbYes, "Gelöschte Dateien", "zu löschende Dateien")
For Each fl In flist
If listall = True Then
i = i + 1
n = fl.Name
NewSheet.Range("N" & i) = n
If IsError(Application.Match(n, Liste, False)) Then
NewSheet.Range("N" & i).Font.Bold = True
If frage = vbYes Then fl.Delete
End If
Else
n = fl.Name
If IsError(Application.Match(n, Liste, False)) Then
i = i + 1
NewSheet.Range("N" & i) = n
If frage = vbYes Then fl.Delete
End If
End If
Next fl
End Sub
Gruß Mr. K.