İki sütunu eşleştirmem gerekiyor, biri "all_fılenames", diğeri ise "part_number" Eşleşmeleri bulmak için VLOOKUP kullandım ve işe yaradı. Ancak sorun, "all_fılenames "altında yaklaşık 2.000 veri ve" part_number " altında yalnızca 500 olmasıdır. "Part_number" altındaki veriler, "all_fılenames" altındaki birden çok veriyle eşleşebilir, ancak sorun, belirli adla eşleşmemesidir. Örnek: A Sütunu all_fılenames olacaktır, bunlar depolananlardır: XP605_Top.jpg AR131_Front.jpg 28528_765BP_Front.jpg 2543_ön.jpg. "Part_number" olacak B Sütununda şu şekilde saklanır: XP605.jpg AR131.jpg 28528.jpg 2543.jpg. Yani teoride bu bir eşleşme olarak kabul edilir, ancak A Sütununda eksik olan birkaç kelime veya sayı olduğundan eşleşmez. Yani benim sorunum bu sorunu çözmek için bir UDF yapmak. Yeterince açıkladım mı emin değilim. Herkes bana yardımcı olabilir? Teşekkür ederim.
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
Şimdiye kadar bulduğum ve denediğim tek kod bu, ancak sorun şu ki hala eşleşmiyor çünkü tam bir eşleşme aramaya çalıştığını düşünüyorum. VBA konusunda gerçekten yeniyim, bu yüzden hala kullanmakta zorlanıyorum.
Parça numarasıyla başka bir sütuna dönmek için 'eşleşme değerine' ihtiyacım var ve birden fazla eşleşme varsa hepsinin sütunun içinde olması gerekiyor.