I'm trying to search a Table for multiple criteria and if I get multiple results for those criteria I want to display them.
Till now my code can search for multiple criteria but stops when it has found one result.
This is the code snippet: `
Set rngSearch = Sheets(Temp_Bereich).Range("A:M")
Set Found = rngSearch.Find(What:=Material_A, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Found Is Nothing Then
Firstfound = Found.Address
Do
If Found.EntireRow.Range("B1").Value = Material_B And _
Found.EntireRow.Range("C1").Value = Schmierzustand_AB And _
Found.EntireRow.Range("G1").Value = Rauheit_A And _
Found.EntireRow.Range("H1").Value = Rauheit_B And _
Found.EntireRow.Range("D1").Value = Schmiermittel_AB Then Exit Do 'Match found
Set Found = rngSearch.FindNext(After:=Found)
If Found.Address = Firstfound Then Set Found = Nothing
Loop Until Found Is Nothing
End If
If Not Found Is Nothing Then
Application.Goto Found.EntireRow
Haftreibwert.Value = Cells(Found.Row, 12).Value
Gleitreibwert.Value = Cells(Found.Row, 13).Value
Else
MsgBox "Es trifft leider nichts auf alle 6 Kriterien zu ", , "Kein Match gefunden"
End If
You haven't explained what you want to do with multiple results if found, but this should be a start:
It's easier to manage the logic if you factor out the "find all matches" into a separate function.