ฉันต้องตรงกับสองคนคอลัมน์ต้องมี"all_filenames"ในขณะที่อีกคนหนึ่งมี"part_number"ฉันต้องใช้ VLOOKUP จะเจอไม้ขีดไฟแล้วมันทำงานอยู่ อย่างไรก็ตามปัญหาคือมันอยู่ใต้"all_filenames มีอยู่ 2,000 ดอลลาร์ข้อมูลและภายใต้"part_number"มีเพียง 500 คน ที่ datas ใต้"part_number"จะเข้ากันหลาย datas ใต้"all_filenames"แต่ปัญหาคือมันไม่ตรงกับที่ระบุชื่อนะ ตัวอย่าง:คอลัมน์เป็นค all_filenames พวกนี้เป็นอะไรเก็บไว้:XP605_Top.jpg AR131_Front.jpg 28528_765BP_Front.jpg 2543_Front.jpg. ในคอลัมน์บีซึ่งจะเป็น"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 ดังนั้นฉันยังคงมีช่วงเวลาที่ยากลำบากมากใช้มัน
ฉันต้องการ'ตรงกับค่า'เพื่อกลับมาในอีกคอลัมน์กับคนส่วนหนึ่งจำนวนถ้าหากว่ามีหลายตรงกับฉันต้องการทั้งหมดของมันจะอยู่ในคอลัมน์