Probier mal das:
Sub BanfenLoeschen()
' Variablen
Dim intRow As Integer
' Konstanten
Const strSheet As String = "Banfe"
Const strPath As String = "N:\07 Auftragsbearbeitung\offene Banfen\"
Const strEndung As String = ".pdf"
Const intSpalte1 As Integer = 18
Const intSpalte2 As Integer = 4
' Arbeitsblatt aktivieren
ThisWorkbook.Worksheets(strSheet).Activate
' Schleife - Zeilen durchlaufen ab Zeile 4 bis letzte, befüllte Zeile
For intRow = 4 To Cells(Rows.Count, intSpalte1).End(xlUp).Row
' Prüfung, ob Zelle nicht leer ist
If Worksheets(strSheet).Cells(intRow, intSpalte1).Value <> "" Then
' Prüfung, ob Zellen denselben Inhalt haben
If Worksheets(strSheet).Cells(intRow, intSpalte1).Value = Worksheets(strSheet).Cells(intRow, intSpalte2).Value Then
' Prüfung, ob Datei existiert
If Dir(strPath & Cells(intRow, intSpalte2) & strEndung, vbReadOnly) <> "" Then _
Kill strPath & Cells(intRow, intSpalte2) & strEndung
End If
End If
Next intRow
End Sub
Aufrufen könntest du diese Prozedur etwa manuell über einen Button im Dokument, per Tastenkombination oder sogar live (Private Sub Worksheet_SelectionChange(ByVal Target As Range))
|