Jak se zápas dvou sloupců a vrátí hodnotu třetí ve VBA

0

Otázka

Mám na zápas dva sloupce, jeden má "all_filenames", zatímco druhý má "part_number" jsem použil funkci SVYHLEDAT najít zápasy, a to dělal práci. Problém však je, že pod "all_filenames tam je kolem 2 000 dat a pod "part_number" existuje pouze 500. Údaje pod "part_number" může odpovídat více kako pod "all_filenames" ale problém je, že to neodpovídá konkrétní jméno. Příklad: Sloupec A bude all_filenames, jsou to, co je uloženo: XP605_Top.jpg AR131_Front.jpg 28528_765BP_Front.jpg 2543_Front.jpg. Na Sloupec B, který by byl "part_number" je uložen jako: XP605.jpg AR131.jpg 28528.jpg 2543.jpg. Takže teoreticky by to být považováno za zápas, ale když tam jsou pár slov nebo číslo chybí Sloupec A nebude to zápas. Takže můj problém je UDF, aby tento problém vyřešit. Nejsem si jistý, jestli jsem to vysvětlil dost dobrý. Může mi někdo pomoci? Děkuji.

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

Zatím je to jediný kód který jsem našel a zkoušel, ale problém je, že to stále není zápas, protože si myslím, že se snaží hledat přesnou shodu. Jsem opravdu nové s VBA, tak jsem stále s těžko používat.

Potřebuji 'match hodnotu vrátit v dalším sloupci s číslem dílu a pokud existuje více zápasů potřebuji, aby to bylo uvnitř kolony.

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

Nejlepší odpověď

0

Můžete použít LEVÉ a NAJÍT vyčistit sloupce údajů. Pokud vaše názvy souborů jsou ve sloupci A pak

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

Odstraníme všechno, až na první "_". Pro váš seznam dílů

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

bude zbavit ".jpg" část názvu (nebo můžete použít NAHRADIT, jak je navrženo v komentářích). To umožní, aby funkce SVYHLEDAT šťastnější

2021-11-24 03:21:24

V jiných jazycích

Tato stránka je v jiných jazycích

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