วิธีตรงกับสองคนคอลัมน์และคืนค่าในที่สามใน VBA

0

คำถาม

ฉันต้องตรงกับสองคนคอลัมน์ต้องมี"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 ดังนั้นฉันยังคงมีช่วงเวลาที่ยากลำบากมากใช้มัน

ฉันต้องการ'ตรงกับค่า'เพื่อกลับมาในอีกคอลัมน์กับคนส่วนหนึ่งจำนวนถ้าหากว่ามีหลายตรงกับฉันต้องการทั้งหมดของมันจะอยู่ในคอลัมน์

excel vba
2021-11-23 23:07:28
1

คำตอบที่ดีที่สุด

0

คุณสามารถใช้เหลือแล้วเจอเพื่อทำความสะอาดของคุณคอลัมน์ของข้อมูลออกมา ถ้าของคุณโปรแกรมจัดการแฟ้ม@label อยู่ในคอลัมน์เป็นงั้น

=LEFT(A1,FIND("_",A1)-1)

จะลบทุกอย่างเพื่อคนแรก"_". สำหรับของคุณส่วนรายการ

=LEFT(C1,LEN(C1)-4)

จะกำจัด".jpg"ส่วนของชื่อของ(หรือคุณสามารถใช้แทนที่แนะนำให้อยู่ในคอมเมนท์). นี่จะทำให้ VLOOKUP ฟังก์ชันมีความสุข

2021-11-24 03:21:24

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่