Я должен сопоставить два столбца, в одном из которых есть "all_filenames", а в другом - "part_number", я использовал VLOOKUP для поиска совпадений, и это сработало. Однако проблема в том, что в разделе "все имена файлов "содержится около 2000 данных, а в разделе" номер детали " - только 500. Данные в разделе "номер детали" могут совпадать с несколькими данными в разделе "имена всех файлов", но проблема в том, что они не соответствуют определенному имени. Пример: Столбец A будет содержать имена всех файлов, вот что хранится: XP605_Top.jpg AR131_Front.jpg 28528_765BP_Front.jpg 2543_Front.jpg. В столбце B, который будет "part_number", он хранится как: XP605.jpg AR131.jpg 28528.jpg 2543.jpg. Таким образом, теоретически это можно было бы рассматривать как совпадение, но, поскольку в столбце А отсутствует несколько слов или цифр, оно не будет совпадать. Поэтому моя проблема заключается в создании UDF для решения этой проблемы. Не уверен, что я достаточно хорошо все объяснил. Кто-нибудь может мне помочь? Спасибо.
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
До сих пор это единственный код, который я нашел и попробовал, но проблема в том, что он все еще не совпадает, потому что я думаю, что он пытается найти точное совпадение. Я действительно новичок в VBA, поэтому мне все еще трудно его использовать.
Мне нужно, чтобы "значение соответствия" возвращалось в другой столбец с номером детали, и если есть несколько совпадений, мне нужно, чтобы все они были внутри столбца.