Cum pentru a se potrivi două coloane și întoarce valoarea din al treilea în VBA

0

Problema

Trebuie să se potrivească două coloane, una a "all_filenames" în timp ce celălalt are "part_number" am folosit VLOOKUP pentru a găsi meciuri și a făcut de lucru. Cu toate acestea, problema este că, în "all_filenames există aproximativ 2.000 de date și sub "part_number" există doar 500. Prelucrarea datelor sub "part_number" s-ar putea potrivi mai multe date sub "all_filenames" dar problema este că nu se potrivesc cu nume specific. Exemplu: Coloana ar fi all_filenames, acestea sunt ceea ce este stocat: XP605_Top.jpg AR131_Front.jpg 28528_765BP_Front.jpg 2543_Front.jpg. Pe Coloana B care ar fi "part_number" este stocat ca: XP605.jpg AR131.jpg 28528.jpg 2543.jpg. Deci, în teorie, acest lucru ar fi considerat ca un meci dar din moment există câteva cuvinte sau numărul lipsă din Coloana a că nu se va potrivi. Deci problema mea este de a face un UDF pentru a rezolva această problemă. Nu sunt sigur daca am explicat destul de bun. Poate cineva să mă ajute? Multumesc.

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

Până în prezent aceasta este singura cod am găsit și am încercat, dar problema este că încă nu se potrivește că eu cred că încearcă să se uite pentru o potrivire exactă. Sunt foarte nou cu VBA deci, eu sunt încă având un timp de greu de folosind-o.

Am nevoie de meci de valoare' pentru a reveni într-o altă coloană cu numărul parte și dacă există mai multe meciuri am nevoie de toate să fie în interiorul coloanei.

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

Cel mai bun răspuns

0

Ai putea folosi doar la STÂNGA și de a GĂSI să-ți cureți coloane de date. Dacă numele de fișiere sunt în coloana a, atunci

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

Va elimina totul până la primul "_". Pentru lista de piese

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

va scapa de ".jpg" parte a numelui (sau ai putea folosi ÎNLOCUIȚI după cum a sugerat în comentarii). Acest lucru va face VLOOKUP funcția fericit

2021-11-24 03:21:24

În alte limbi

Această pagină este în alte limbi

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