Hallo,
ich habe diesen Code von UweD:
Sub Loeschen()
Dim TB1, Pfad As String, Datei As String, Blatt As String
Dim LR As Long, EZ As Integer
'- Vorgaben Pfad
Set TB1 = ThisWorkbook.Sheets("Tabelle1")
Pfad = "C:\..."
Datei = "Mappe2.xlsx"
Blatt = "Tabelle1"
EZ = 2 '
'-Ende Vorgaben
Datei = "[" & Datei & "]"
With TB1
LR = .Cells(.Rows.Count, "A").End(xlUp).row 'letzte Zeile der Spalte
.Range(Cells(EZ, 4), Cells(LR, 4)).Formula = _
"=IFERROR(VLOOKUP(A2,'" & Pfad & Datei & Blatt & "'!$A:$E,5,0),"""")"
.Cells(1, 4) = "Tmp" 'Eine vierte Spalte wird eingefügt
If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalten
.Columns(4).AutoFilter
.Columns(4).AutoFilter Field:=1, Criteria1:="nein"
.Rows(EZ & ":" & LR).Delete xlUp 'wenn "nein", dann Zeile löschen
.AutoFilterMode = False 'Vierte Spalte löschen
.Columns(4).ClearContents
End Sub
Ich will diesen aber so anpassen: in der zweiten Tabelle stehen jetzt die Namen in der Reihe H und in Reihe I "ja" oder "nein". Des Weiteren soll der Code in der ersten Datei nicht die ganze Zeile löschen, sondern nur die Zellen G:H, in denen "ja" oder "nein" steht und der Name derselbe ist, wie in der 2. Tabelle. Die Spalte "Tmp" soll in der J Reihe erzeugt werden.
Hat jemand eine idee, wie ich das ändern kann? Ich habe es so versucht, es funktioniert aber leider nicht.
LR = .Cells(.Rows.count, "A").End(xlUp).row
.Range(Cells(EZ, 9), Cells(LR, 9)).Formula = _
"=IFERROR(VLOOKUP(A2,'" & Pfad & Datei & Blatt & "'!$A:$I,9,0),"""")"
.Cells(1, 7) = "Tmp"
' Autofilter ausschalten
If .AutoFilterMode Then .AutoFilterMode = False
.Columns(7).AutoFilter
.Columns(7).AutoFilter Field:=1, Criteria1:="nein"
.Range("G" & EZ & ":" & "H" & LR).Delete xlUp
.AutoFilterMode = False
.Columns(6).ClearContents
Danke!