Funksioni FIND në VBA: Si ta përdorni atë?

duan të mësojnë se si të përdorin Funksioni FIND në VBA🇧🇷 Atëherë ju jeni në vendin e duhur!

Kush nuk e njeh opsionin SEARCH në Excel? Nëse keni punuar me Excel për një kohë, me siguri keni përdorur funksionin SEARCH ose tastin popullor të shkurtores Ctrl + L për të gjetur një fjalë ose pjesë të përmbajtjes që dëshironi të kërkoni në të gjithë fletën e punës. si gjithë fletoren e punës.

Gjithashtu, në VBA kemi një funksion të quajtur FIND që mund të na ndihmojë të gjejmë vlerën që kërkojmë.

Ndiqni detajet më poshtë për të mësuar më shumë rreth kësaj veçorie përmes shembujve praktikë.

Si funksionon funksioni FIND në VBA?

Funksioni Excel VBA FIND kërkon një vlerë specifike brenda një diapazoni specifik. Kërkon shfaqjen e parë të asaj vlere dhe nëse gjendet, funksioni kthen qelizën që e përmban atë. Megjithatë, nëse nuk gjendet asnjë përputhje, funksioni nuk kthen asgjë. Funksioni VBA FIND mund të kthejë një përputhje të saktë ose të pjesshme.

Për shembull, kodi i mëposhtëm kërkon për tekstin "San Pablo» në interval A1: A10 në "Fleta e punës 1🇧🇷

Me fletë ("Fleta1"). Gama ("A1:A10")
Cakto Rng = .Find(Çfarë:="São Paulo")

Qëllimi i përdorimit të funksionit FIND në VBA është të gjesh vlerën e dëshiruar në një grup të dhënash të caktuar. Me një kod VBA, ju mund të automatizoni detyrën e gjetjes së vlerave në Excel.

Sintaksa e funksionit VBA FIND

Sintaksa e funksionit VBA FIND deklarohet si më poshtë:

shprehje. Gjeni (Çfarë, Pas, LookIn, LookAt, SearchOrder, Search Direction, MatchCase, MatchByte, SearchFormat)

Donde:

shprehja: është objekti i diapazonit, i cili i paraprin funksionit FIND në kodin VBA. Gama e kërkimit mund të jetë një ose më shumë rreshta, kolona ose e gjithë fletëllogaritja. Funksioni VBA FIND pranon argumentet e mëposhtme:

  • çfarë: Kjo është vlera për të kërkuar. Mund të jetë numerik, tekstual ose çdo lloj tjetër i të dhënave Excel. Ky argument është i njëjtë me opsionin Gjej të "gjeni dhe zëvendësoni” nga Excel.
  • Pas: Tregon qelizën nga e cila do të fillojë kërkimi. Është futur si një referencë e vetme qelize. Nëse ky argument hiqet, kërkimi fillon pas qelizës në këndin e sipërm të majtë të diapazonit të specifikuar të kërkimit.
  • Shikoni në: Ky është vendndodhja (ose të dhënat) ku duhet kërkuar vlera. Mund të jetë një koment (xlComments), një formulë (xlFormulas) ose një vlerë (xlValues). Vlera e paracaktuar për këtë argument është xlFormulas. Gjithashtu, ky argument është i njëjtë me opsionin Gjej të "gjeni dhe zëvendësoni” nga Excel.
  • Shikoni: Ky argument vendos nëse do të përputhet me të gjithë përmbajtjen e qelizës (përputhja e saktë) ose një pjesë e përmbajtjes së qelizës (përputhja e pjesshme). Konstantat janë xlWhole dhe xlPart për ndeshjet e sakta dhe të pjesshme, respektivisht. Vlera e paracaktuar për këtë argument është xlPart.
  • Rendi i kërkimit: Ky argument sugjeron rendin e kërkimit. Mund të specifikoni nëse kërkimi do të jetë në rreshta (xlByRows) ose kolona (xlByColumns). Vlera e paracaktuar për këtë argument është xlByRows. Gjithashtu, ky argument është i njëjtë me opsionin Gjej të "gjeni dhe zëvendësoni” nga Excel.
  • Kërko adresën: Tregon adresën në të cilën do të kryhet kërkimi. Mund të kërkoni poshtë ose në qelizën tjetër me konstantën xlNext. Përndryshe, mund të kërkoni prapa (lart) ose në qelizën e mëparshme me konstantën xlPrevious. Vlera e paracaktuar për këtë argument është xlNext.
  • Rasti i ndeshjes: Ky argument vendos nëse kërkimi duhet të jetë i ndjeshëm ose jo. Nëse kërkimi është i ndjeshëm ndaj shkronjave të vogla, ky argument specifikohet si i vërtetë (TRUE), përndryshe është i gabuar (FALSE). Vlera e paracaktuar për këtë argument është False.
  • MatchByte: Ky argument duhet të përdoret nëse dikush ka instaluar ose përzgjedhur mbështetje gjuhësore me dy bajt. Duhet të specifikohet si e vërtetë nëse karakteret me dy bajt duhet të përputhen me karakteret me dy bajt. Duhet të specifikohet si false nëse karakteret me dy bajt duhet të përputhen me ekuivalentët e tyre një bajt.
  • formati i kërkimit: Tregon nëse vlera për të kërkuar duhet të jetë në një format specifik (si p.sh. shkronja të theksuara ose të pjerrëta) apo jo. Nëse vlera e kërkimit duhet të ndjekë një teknikë formatimi, ky argument specifikohet si i vërtetë, përndryshe i gabuar. Vlera e paracaktuar e këtij argumenti është false (FALSE).

vetëm argumenti çfarë e nevojshme. Argumentet e tjera janë fakultative.

Funksioni FIND kthen një nga rezultatet e mëposhtme:

  • Nëse gjendet një përputhje, funksioni kthen qelizën e parë ku gjendet vlera.
  • Nëse nuk gjendet asnjë përputhje, funksioni nuk kthen asgjë. Kjo është për shkak se objekti i funksionit është vendosur në asgjë.

Përndryshe, nëse nuk gjendet asnjë përputhje, një mesazh i personalizuar specifikohet nëpërmjet funksioni i kutisë së mesazheve mund të kthehen (shih shembujt e kodit më poshtë).

Shënim 1: Kërkimi fillon pas qelizës së specifikuar në argument. atëherë dhe vazhdon deri në qelizën e fundit në diapazonin e kërkimit. Nëse vlera nuk gjendet deri në këtë qelizë të fundit, kërkimi fillon përsëri nga qeliza e parë në diapazonin e kërkimit në qelizën e specifikuar në argument. atëherë🇧🇷

Prandaj, qeliza e specifikuar në argument atëherë ai kërkohet në fund të procesit të kërkimit. Për më shumë detaje mbi përdorimin e argumentit atëherëshih shembullin e dytë në këtë artikull.

Shënim 2: Sa herë që përdoret funksioni VBA FIND, shiko brenda🇧🇷 Shiko🇧🇷 urdhër kërkimi y MatchByte Prandaj, nëse këto vlera hiqen herën tjetër që të përdoret funksioni, Excel do të përdorë vlerat e ruajtura më parë. Prandaj, rekomandohet të deklarohen në mënyrë eksplicite argumentet e dhëna sa herë që kërkimi kryhet duke përdorur funksionin VBA FIND.

Si të përdorni funksionin FIND në Excel VBA?

Në mënyrë që ju të kuptoni përdorimin e funksionit FIND në VBA, ne kemi ndarë disa shembuj praktikë më poshtë.

Shembulli 1: Zgjedhja e qelizës me shfaqjen e parë të vlerës së kërkimit

Në shembullin e parë, supozoni se keni një listë që përmban disa emra siç tregohet në imazhin më poshtë, dhe dëshironi të shfletoni dhe zgjidhni qelizën që përmban emrin. pedro🇧🇷

Nga atje, ndiqni këto hapa:

1. Hyni në udhëzues zhvillues 🇧🇷 bazë vizuale🇧🇷 (Nëse nuk e keni të aktivizuar skedën Zhvilluesi në Excel, kontrolloni këtu hap pas hapi).

udhëzues për zhvilluesit

dy Në ekranin VBA, zgjidhni fletën e dëshiruar të punës nga menyja në të majtë. Në këtë shembull, ne do të zgjedhim Fleta e punës 1 e cila është fleta e punës që përmban listën e emrave.

3. Pasi të zgjidhni fletën e dëshiruar të punës, në zonën në të djathtë, vendosni kodin më poshtë:

Zgjidhni qelizën me shfaqjen e parë të vlerës së kërkuar

Nën Emri i vendndodhjes()
Gama ("A1:A10"). Gjeni (Çfarë:="Peter"). Zgjidhni
Sub End
  • Vini re në kodin e mësipërm se kemi përmendur gamën që po kërkojmë (A1: A10🇧🇷
  • Pasi të përmendni diapazonin, vendosni një pikë (.) dhe shkruani GJEJ🇧🇷
  • Argumenti ynë i parë është ajo që ne po kërkojmë. Për të theksuar argumentin, ne mund ta kalojmë argumentin çfarë:=kjo do të jetë e dobishme për të identifikuar se cilit parametër i referohemi.
  • Pjesa e fundit është pasi të gjejmë fjalën se çfarë duam të bëjmë. Duhet të zgjedhim fjalën, ndaj kalojmë argumentin si .Zgjidhni🇧🇷
  • Pastaj ekzekutoni këtë kod duke përdorur çelësin F5 ose manualisht siç tregohet në imazhin më poshtë për të zgjedhur qelizën e parë që përmban emrin pedro🇧🇷

gjeni në VBA

Shembulli 2: Zgjidhni qelizën me shfaqjen e dytë të vlerës së kërkimit

Në këtë shembull të dytë, vini re se imazhi i mëposhtëm përmban disa emra në rangun A1:A10. Vini re se emri "pedro” shfaqet dy herë në kolonën A.

Zgjidhni qelizën me ndodhjen e dytë

Në këtë rast, ne duam të kërkojmë dhe të zgjedhim dukuri e dytë të emrit "Peter" në kolonën A (domethënë qeliza A7). Për ta bërë këtë ne do të përdorim kodin e mëposhtëm:

GJENI shfaqjen e dytë të VBA

Nën Emri i vendndodhjes()
Gama ("A1:A10"). Gjeni(Çfarë:="Pjetër", Pas:=Range("A2")).Zgjidh
Sub End

Vini re në kodin e mësipërm se kërkimi fillon pas qelizës A2 dhe vazhdon deri në qelizën e fundit në kolonën A. Kjo ndodh sepse diapazoni i kërkimit është specifikuar si kolona A (A1:A10).

Pra, meqenëse kërkimi fillon në qelizën A3, vlera "pedro” është në qeli A7 jep "fletëllogaritëse2🇧🇷 Prandaj, qeliza A7 do të zgjidhet nga funksioni FIND gjatë ekzekutimit të kodit.

Nëse emri «pedro” nuk ishte gjetur në qelizën A3 deri në qelizën e fundit në kolonën A, kërkimi do të fillonte përsëri në qelizën A1 dhe do të përfundonte në qelizën A2 këtë herë. Prandaj, qeliza e specifikuar në argumentin "atëherë” kërkohet pikërisht në fund të procesit të kërkimit.

Shembulli 3: Gjeni tekstin duke specifikuar disa nga karakteret e tij

Për të kërkuar tekst duke specifikuar vetëm një pjesë të tij, futni argumentin Shiko si xlPjesa ose hiq këtë argument. Si parazgjedhje, funksioni FIND përputhet me karakteret në vlerën e kërkimit me të gjithë vargun. Më pas kthen qelizën që përmban të gjithë këtë varg.

Shikoni shembullin më poshtë:

Nën Emri i vendndodhjes()
Gama ("A1:A10"). Gjej (Çfarë:="Ped", LookAt:=xlPart). Zgjidh
Sub End

Ky kod kërkon personazhet "PED” në diapazonin A1:A25 të “Sheet3”. Kthehet qeliza që përmban vlerën, e cila emërtohet korrespondencë e pjesshme🇧🇷 Pra, pavarësisht nëse karakteret e vlerës së kërkimit vendosen në fillim, në mes ose në fund të vargut, Excel VBA kthen një përputhje.

vëzhgimi: konstantja xlPjesa mund të hiqet nga kodi sepse është vlera e paracaktuar e funksionit FIND. Por nëse ky argument specifikohet, sigurohuni që të mos jetë i mbyllur në thonjëza të dyfishta.

Shembulli 4: Gjetja e tekstit brenda një komenti

Ju gjithashtu mund të përdorni funksionin VBA FIND për të gjetur tekst brenda një komenti të qelisë në Excel.

Për një kuptim më të mirë, hidhini një sy shembullit më poshtë ku kemi një fletë pune që përmban tre qeliza me komente (të treguara nga trekëndëshat e kuq). Nga kjo duam të gjejmë tekstin "komision i paguar” ndodhet brenda një prej komenteve. Në këtë rast, ne do të përdorim kodin e mëposhtëm:

Nën LocateKoment()
Gama ("A1:B10"). Gjeni(Çfarë:="Komisioni paguan", LookIn:=xlKomente).Zgjidh
Sub End

Gjeni tekstin brenda komentit

Si rezultat, Excel do të zgjedhë vetëm qelizën që përmban komentin, teksti i të cilit është specifikuar në kodin tonë.

Shembulli 5: Trajtimi i gabimeve në funksionin FIND në VBA

Në rast se teksti që po kërkojmë nuk është brenda intervalit të caktuar, VBA do të kthejë një gabim siç tregohet më poshtë:

gabim 91

Për të shmangur këtë gabim, ne mund të përdorim një kod siç tregohet më poshtë:

Nën Emri i vendndodhjes()
Rezultati i zbehtë si variant

Në Error Resume Next
Gama ("A1:A10"). Gjej (Çfarë:="Cristina"). Zgjidh
Në gabim GoTo 0

Rezultati = ActiveCell.Vlera

Nëse Rezultati = "" Atëherë
MsgBox "Vlera që po kërkoni nuk disponohet në gamën e dhënë!"
Dalja Nën
Nëse End

Sub End

Vini re në kodin e mësipërm se nëse VBA gjen vlerën, do të shfaqë vlerën e gjetur, ose përndryshe do të shfaqë mesazhin si "Vlera që po kërkoni nuk disponohet në gamën e dhënë🇧🇷

Për më shumë këshilla se si të rregulloni gabimet VBA, shikoni artikullin: Gabimet e Excel VBA: gjithçka që duhet të dini!

Detaje për të mbajtur mend

  • Funksioni FIND është pjesë e veçorisë RANGE dhe duhet të përdorni FIND pasi të zgjidhni vetëm diapazonin.
  • Në funksionin FIND, argumenti i parë (çfarë), plus gjithçka tjetër është opsionale.
  • Nëse e gjeni vlerën pas një qelize specifike, mund të përmendni qelizën në parametër atëherë të sintaksës së kërkimit.

Shkarkoni tabelën këtu që përmban shembujt e paraqitur në këtë tutorial.

Shikoni gjithashtu këshillat e mëposhtme të Excel:

Pra, çfarë mendoni për funksionin FIND në VBA? Nëse keni ndonjë pyetje, lini komentin tuaj më poshtë. Shikoni gjithashtu më shumë këshilla për Excel dhe VBA në faqen tonë të internetit!

Tommy Banks
Ne do të jemi të lumtur të dëgjojmë atë që mendoni

lini një përgjigje

TechnoBreak | Oferta dhe komente
logo
Aktivizo regjistrimin në cilësime - të përgjithshme
Shporta