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
In der ersten Datei stehen in der ersten Spalte Namen. In der zweiten Datei stehen auch Namen und in der 5. Spalte steht immer Ja, Nein oder nichts. Der Code kopiert und fügt die ja/nein Spalte in der 4. Spalte ein und löscht die Zeilen, in denen nein steht. Ich will jetzt hinzufügen, dass wenn nichts oder 0 in der Zelle steht, in der 3. Zeile geschrieben wird: keine Informationen zur Verfügung. Habt ihr eine Idee, wie ich das schaffen kann?
Ich hatte es mir so überlegt, klappt aber nicht
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 dritte Spalte wi
If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalte
.Columns(4).AutoFilter
.Columns(4).AutoFilter Field:=1, Criteria1:=0
.Cells(EZ & ":" & LR, 3) = "Keine Info" 'wenn "", dann Zeile löschen
.AutoFilterMode = False 'Dritte Spalte löschen
.Columns(4).ClearContents
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 dritte Spalte wi
If .AutoFilterMode Then .AutoFilterMode = False ' Autofilter ausschalte
.Columns(4).AutoFilter
.Columns(4).AutoFilter Field:=1, Criteria1:=0
.Cells(EZ & ":" & LR, 3) = "Keine Info" 'wenn "0", dann Zeile löschen
.AutoFilterMode = False 'Dritte Spalte löschen
.Columns(4).ClearContents
Es kommt aber eine Fehlermeldung bei: .Cells(EZ & ":" & LR, 3) = "Keine Info"