Ynhâldsopjefte
As jo op syk binne nei guon fan 'e maklikste manieren om in krekte wedstriid te finen mei VBA , dan sille jo dit artikel nuttich fine. Dus, lit ús begjinne mei it artikel en leare hoe't jo in krekte wedstriid fine kinne.
Wurkboek downloade
VBA Find Exact Match.xlsm
5 Manieren om krekte oerienkomst te finen mei VBA
Ik haw de folgjende tabel brûkt dy't de resultaten fan guon studinten hat. Ik sil ferskate manieren útlizze om de krekte oerienkomst te finen troch dizze tabel te brûken mei help fan VBA.
Foar dit doel haw ik Microsoft Excel 365 ferzje brûkt, jo kinne alle oare ferzjes brûke neffens jo gemak.
Metoade-1: It finen fan eksakte oerienkomst yn in berik fan sellen
As jo in krekte oerienkomst fine wolle fan in tekenrige lykas de namme fan in studint en fyn dan de selposysje fan dizze studint dan kinne jo dit dwaan troch dizze metoade te folgjen.
Hjir sil ik in krekte wedstriid fine foar de studint mei de namme “Joseph Micahel” .
Stap-01 :
➤Gean nei ûntwikkelder Tab>> Visual Basic Opsje
Dan sil de Visual Basic Editor iepenje.
➤Gean nei Ynfoegje Tab>>> Module Opsje
Dêrnei sil in Module oanmakke wurde.
Stap-02 :
➤Skriuw de folgjende koade
4029
Hjir, "eksakte oerienkomst" is de blêdnamme en “B5:B10” is deberik fan nammen fan learlingen, en “Joseph Michael” is de namme fan de studint dy't te finen is.
rng wurdt ferklearre as in berikobjekt en str as in tekenrige fariabele om it adres fan it sochte item op te slaan.
De IF -statement sil it adres fan it item tawize oan de str fariabele.
➤Druk op F5
Resultaat :
Dêrnei krije jo de folgjende Berjochtbox mei de selposysje fan 'e studint mei de namme "Joseph Michael" .
Lês mear: Fyn binnen in berik mei VBA yn Excel: Eksakte en diele oerienkomsten ynklusyf
Metoade-2: Eksakte oerienkomst fine en it ferfange mei VBA
Ik sil it sjen litte manier om de oantsjutte studintnamme te finen en dy dan te ferfangen troch in oare namme, om't op ien of oare manier dizze namme hjir fersin skreaun is. Jo kinne jo winske tekenrige fine en ferfange troch dizze metoade te folgjen.
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
9789
Hjir, “fine &ferfange” is de blêdnamme en "B5:B10" is it berik fan de nammen fan studinten, en "Donald Paul" is de namme fan de studint dy't te finen is en dan sil "Henry Jackson" wês de namme fan de studint yn stee fan de foarige.
MET statement sil de werhelling fan it stik koade yn elke útspraak foarkomme.
De IF statement sil tawize deit adres fan it item nei de str fariabele en de DO -lus sil alle foarkommen fan it sykwurd ferfange.
➤Druk op F5
Resultaat :
Dêrnei krije jo de namme fan de nije studint as "Henry Jackson" .
Metoade-3: It finen fan eksakte en saakgefoelige oerienkomst
As jo in haadlettergefoelige wedstriid fine wolle, folgje dan dizze metoade. Hjir haw ik twa nammen dy't lykje op elkoar, mar der is in ferskil yn 'e saak en ôfhinklik fan' e saak sil ik de namme fan 'e lêste studint ferfange.
Stap -01 :
➤Folgje Stap-01 fan Metoade-1
5844
Hjir, “case-sensitive” is de blêdnamme en “B5:B10” is it berik fan de nammen fan studinten, en “Donald Paul” is de namme fan de studint dy't út te finen is, en dan sil “Henry Jackson” de namme fan de studint wêze ynstee fan de foarige.
MET útspraak sil de werhelling fan it stik koade yn elke útspraak foarkomme.
De IF -statement sil it adres fan it item tawize oan de str fariabele en de DO -lus sil alle foarkommen fan it sykwurd ferfange.
➤Druk op F5
Resultaat :
No, neffens de saak, de de namme fan de studint wurdt feroare yn “Henry Jackson” .
Silkene lêzingen:
- Hoe kinne jo string fine yn in sel mei VBA yn Excel (2 metoaden)
- VBAFyn yn kolom yn Excel (7 oanpak)
- Hoe kinne jo string fine mei VBA yn Excel (8 foarbylden)
Metoade-4: Gebrûk InStr-funksje
Stel dat jo Pass of Kreat net oerienkomme oerienkomme wolle mei de nammen fan de learlingen ôfhinklik fan de Resultaatkolom wêr't Slage of Failed is skreaun. Om dizze tekenrige te finen yn de Resultaatkolom en “Passed” op te skriuwen yn de Statuskolom foar de learlingen dy't it eksamen slagge hawwe, kinne jo <1 brûke>de InStr-funksje .
Stap-01 :
➤Folgje Stap-01 fan Metoade-1
9152
Hjir is it selberik C5:C10 dat is de Resultaatkolom
InStr (cell. wearde, "Pass") & GT; 0 is de betingst wêryn it getal grutter is as nul (as de sel "Pass" befettet) dan sil de folgjende rigel trochgean en de útfier yn 'e neistlizzende sel jaan as Passed .
As de betingst falsk wurdt, betsjut dat in sel gjin “Pass” befettet, dan sil de rigel ûnder ELSE útfiere en de útfierwearde jaan yn de neistlizzende sel as Blank .
Dizze lus sil trochgean foar elke sel.
➤Druk op F5
Resultaat :
Dan krije jo de status "Slagt" foar de learlingen dy't slagge binne.
Metoade-5: eksakte oerienkomst fine en gegevens ekstrahearje
As jo deoerienkommende gegevens foar in studint mei de namme "Michael James" dan kinne jo dizze metoade folgje.
Stap-01 :
➤ Folgje Stap-01 fan Metoade-1
9968
Hjir haw ik B100 brûkt as de Aktive Sheet Range (jo kinne elk berik brûke neffens jo gebrûk).
InStr(1, Range(“B” & i), “Michael James”) > 0 is de betingst om te kontrolearjen oft de sel yn kolom B Michael James befettet.
Range(“E ” & icount & “:G” & icount) is it berik wêryn jo jo útfiergegevens wolle en Range(“B” & i & “:D” & i).value sil de wearden jaan fan de kolom B oan D .
➤Druk op F5
Resultaat :
Dernei krije jo de folgjende ekstrahearre gegevens foar de learlingen mei de namme Michael James .
Oefeningsdiel
Om sels te oefenjen hawwe wy in Oefenje -seksje levere lykas hjirûnder yn in blêd mei de namme Oefenje . Doch it asjebleaft sels.
Konklúzje
Yn dit artikel besocht ik de maklikste manieren te dekken om in krekte wedstriid te finen mei VBA effektyf yn Excel. Hoopje dat jo it nuttich fine. As jo suggestjes of fragen hawwe, diel se dan frij mei ús.