Mám na zápas dva sloupce, jeden má "all_filenames", zatímco druhý má "part_number" jsem použil funkci SVYHLEDAT najít zápasy, a to dělal práci. Problém však je, že pod "all_filenames tam je kolem 2 000 dat a pod "part_number" existuje pouze 500. Údaje pod "part_number" může odpovídat více kako pod "all_filenames" ale problém je, že to neodpovídá konkrétní jméno. Příklad: Sloupec A bude all_filenames, jsou to, co je uloženo: XP605_Top.jpg AR131_Front.jpg 28528_765BP_Front.jpg 2543_Front.jpg. Na Sloupec B, který by byl "part_number" je uložen jako: XP605.jpg AR131.jpg 28528.jpg 2543.jpg. Takže teoreticky by to být považováno za zápas, ale když tam jsou pár slov nebo číslo chybí Sloupec A nebude to zápas. Takže můj problém je UDF, aby tento problém vyřešit. Nejsem si jistý, jestli jsem to vysvětlil dost dobrý. Může mi někdo pomoci? Děkuji.
Public Function WhereIs(rIn As Range, rList As Range) As String
Dim s1 As String, r As Range
Dim s2 As String
WhereIs = ""
s1 = rIn.Text
For Each r In rList
s2 = r.Text
If InStr(1, s2, s1) > 0 Then
If WhereIs = "" Then
WhereIs = r.Address(0, 0)
Else
WhereIs = WhereIs & "," & r.Address(0, 0)
End If
End If
Next r
If WhereI <> "" Then WhereIs = "no match"
End Function
Zatím je to jediný kód který jsem našel a zkoušel, ale problém je, že to stále není zápas, protože si myslím, že se snaží hledat přesnou shodu. Jsem opravdu nové s VBA, tak jsem stále s těžko používat.
Potřebuji 'match hodnotu vrátit v dalším sloupci s číslem dílu a pokud existuje více zápasů potřebuji, aby to bylo uvnitř kolony.