Ako sa zápas dvoch stĺpcov a vráti hodnotu v tretej vo VBA

0

Otázka

Mám k zápasu dva stĺpce, jeden má "all_filenames", zatiaľ čo iné má "part_number" použil som VLOOKUP nájsť zápasy a to robil prácu. Problém je však, že pod "all_filenames tam je približne 2 000 údajov a pod "part_number" existuje len 500 eur. V dátach pod "part_number" by sa zápas viac dátach pod "all_filenames", ale problém je, nezodpovedá špecifický názov. Príklad: Stĺpec by byť all_filenames, to, čo je uložené: XP605_Top.jpg AR131_Front.jpg 28528_765BP_Front.jpg 2543_Front.jpg. V Stĺpci B, ktoré by sa "part_number" je to uložené ako: XP605.jpg AR131.jpg 28528.jpg 2543.jpg. Takže teoreticky by sa to mohlo považovať za zápas, ale pretože existuje niekoľko slov alebo číslo chýba Stĺpec A to sa nebudú zhodovať. Takže môj problém je vytvorenie UDF, aby tento problém vyriešiť. Nie istý, či som to vysvetlil dosť dobrý. Môže mi niekto pomôcť? Ďakujem.

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

Zatiaľ to je len kód, som našiel, a pokúsil, ale problém je, že ešte stále nezodpovedá spôsobiť myslím, že sa snaží hľadať presnú zhodu. Som naozaj nové s VBA, takže som stále majú pevný čas používať.

Potrebujem 'zápas hodnota" vrátiť sa v inom stĺpci s číslo dielu a ak existuje viacero zápasov potrebujem, všetko sa vo vnútri stĺpci.

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

Najlepšiu odpoveď

0

Mohli by ste len použite ĽAVEJ a NÁJSŤ na upratanie vášho stĺpce údajov. Ak váš názvy súborov sa v stĺpci A potom

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

Odstráni všetko, čo sa na prvý "_". Pre vaše zoznam dielov

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

bude zbaviť ".jpg" časť mena (alebo by ste mohli použiť NAHRADIŤ ako sa navrhuje v komentároch). To umožní, aby funkcia VLOOKUP šťastnejší

2021-11-24 03:21:24

V iných jazykoch

Táto stránka je v iných jazykoch

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