AW: Zeichenfolgen aus Liste in Tabelle finden
15.10.2019 12:44:26
Torsten
Ja waere besser. Aber du hast Glueck, ich habe heute etwas Zeit.
Also ich verstehe so, dass die Suchbegriffe in Tabelle "SearchItems" in Spalte A ab A2 bis .... stehen. Und die zu findenden in Tabelle "BPList" auch in Spalte A ab A9.
Da sich beide Listen verlaengern koennen(denke ich), habe ich die letzte Zeile in beiden Tabellen variabel gemacht. Diese werden immer am Anfang des Makros festgestellt.
Ich habe auch, um Schreibarbeit zu sparen, die Worksheet Namen in Variablen gepackt.
So kannst du jetzt deine Suchbegriffe ruhig in deiner "SearchItems" Liste lassen. Es wird auch so verglichen.
Probiers mal aus.
Ach uebrigens zu deinem Einwand vorher: Ich hatte vergessen, die Range wieder auf 2000 anzupassen. Hatte diese verkleinert zu Testzwecken. Deshalb hat es dir nur ein Ergebnis angezeigt.
Hier der neue Code:
Sub suchen_finden()
Dim wsSearch As Worksheet, wsFind As Worksheet
Set wsSearch = ThisWorkbook.Sheets("SearchItems")
Set wsFind = ThisWorkbook.Sheets("BPList")
Dim Zelle As Range, Rng As Range
Dim x As Long, Zaehler As Long, lastSearch As Long, lastFind As Long
lastSearch = wsSearch.Cells(Rows.Count, 1).End(xlUp).Row
lastFind = wsFind.Cells(Rows.Count, 1).End(xlUp).Row
Set Rng = wsFind.Range("A9:A" & lastFind)
Zaehler = 0
For x = 2 To lastSearch
For Each Zelle In Rng
If Zelle.value "" Then
If wsSearch.Cells(x, 1) "" Then
If InStr(UCase(Zelle.value), UCase(wsSearch.Cells(x, 1).value)) > 0 Then
Zelle.Offset(0, 2) = "x"
Zaehler = Zaehler + 1
End If
End If
End If
Next
Next
MsgBox "Es wurden " & Zaehler & " Uebereinstimmungen gefunden"
End Sub