VBA rasti funkciją | Kaip naudotis VBA radimo funkcija? (Pavyzdžiai)

„Excel VBA“ radimas

Kai įprastame darbalapyje naudojame „Rasti“, paspaudžiame spartųjį klavišą CTRL + F ir įveskite duomenis, kuriuos turime rasti, o jei ne norima vertė, einame į kitas rungtynes, jei tokių rungtynių yra daug, tai varginanti užduotis, bet kai mes naudojame FIND VBA, jis atlieka mums užduotis ir pateikia tikslią atitiktį, o tam reikia trijų argumentų: vienas yra tai, ką reikia rasti, kur rasti ir kur ieškoti.

Prieš pereidami prie VBA ir pradėdami naudoti paieškos funkciją makrokomandose, pirmiausia turime sužinoti, kas yra „Excel“ radimo funkcija. Paprastai „Excel“ skirtuke „Pagrindinis“ esančioje redagavimo grupėje galime rasti radimo funkciją, kuri naudojama eilutei ar reikšmei surasti langelių diapazone arba visame darbalapyje.

Kai spustelėsime tai, gausime dvi galimybes;

Vieną paprasta rasti,

Mes matome, kad jis taip pat turi parinkčių režimą, kuris atveria kitą funkciją.

Jis atlieka radimo algoritmą su keturiais apribojimais: „Rask ką“, „Viduje“, „Ieškoti“ ir ieškok.

Antroji „Excel“ parinktis yra rasti ir pakeisti, kuri naudojama, kai randame eilutę, bet ką ją pakeisti kita verte,

Raskite funkcijų sintaksę

Mes sužinojome aukščiau, kas yra „Find in basic excel“. VBA rašome kodus rankiniu būdu, tačiau funkcijos yra tokios pačios kaip ir įprastų „Excel“. Pirmiausia pažvelkime į sintaksę.

Išraiška. Rasti (ką, ieškok, ...)

Jei ieškoma reikšmė randama naudojant „Excel“ funkciją, ji grąžina langelį, kuriame yra vertė, o jei vertė nerandama, funkcijos objektas nėra nustatytas.

Išraiškos makrokomandose apibrėžiamos kaip 1 ar 2 diapazonas. Kas yra raktinis žodis tam, ko norime ieškoti konkrečios vertės? „Lookin“ yra raktinis žodis to, ko bandome ieškoti, ar tai yra komentaras, formulė ar eilutė. Panašiai yra ir kitų funkcijų „Rasti“ apribojimų, kurie yra neprivalomi. Vienintelis privalomas laukas yra ta vertė, kurios bandome ieškoti.

Iš esmės VBA mano, kad „Excel“ turi vieną būtiną argumentą, kurio reikšmę norime ieškoti. Likę apribojimai yra neprivalomi, o paieškos funkcijoje yra daug apribojimų. Funkcija „Rasti“ yra panaši į „Excel“ funkciją.

Radimo funkcijos parametras yra langelių diapazonas. Kaip kuriame diapazone norime rasti vertę. Tai gali būti keli stulpeliai ar keli langeliai, arba visas darbalapis.

Pavyzdžiai

Šį „VBA FIND Function Excel“ šabloną galite atsisiųsti čia - „VBA FIND Function Excel“ šablonas

1 pavyzdys

Tarkime, kad mūsų duomenys turi šias vertes

Tuose pačiuose duomenyse bandysime rasti „Aran“.

  • Norint parašyti VBA kodą, būtina įgalinti „Excel“ skirtuką kūrėjui, kad galėtumėte rašyti VBA kodus.

  • Mes pradedame rašyti savo kodą rašydami šį kodą, kaip parodyta žemiau,
Papildomas pavyzdys ()

Dimas Rodo kaip stygą

„Dim Rng As Range“

„FindS = InputBox“ („Įveskite norimą ieškoti vertę“)

Su „Sheets“ („Sheet1“). Diapazonas („A: A“)

  • Pavyzdys yra funkcijos pavadinimas, suteiktas sub.
  • Rasti yra eilutė, kurios norime, kad ieškotų vartotojas, kurį norime įvesti.
  • Rng yra kintamasis, kurį pasirinkome diapazonui.
  • Dabar prašome vartotojo įvesti vertę, kuri atrodo kaip žemiau esanti ekrano kopija,

  • Dabar modulyje apibrėžsime savo paieškos funkciją.

  • Funkcija suranda vartotojo įvestą vertę nurodytame diapazone.
  • Dabar uždarome funkciją šiais argumentais.

  • Dabar, jei mes paleidžiame savo kodą pirmiausia, jis paprašo vartotojo pateikti vertę.

  • Užbaigus kodą, jis grąžina langelį ten, kur buvo rasti duomenys.

2 pavyzdys

Ankstesniame pavyzdyje buvo keturi unikalūs pavadinimai, bet kas būtų, jei duomenyse būtų daugiau nei vienas vardas, pvz., Apsvarstykite toliau pateiktus duomenis,

Matome, kad vardas Aranas minėtuose duomenyse kartojamas du kartus. Jei „Excel“ turi rasti vardą „Aran“, jis jį suras langelyje A2 ir sustos, tačiau yra dar viena reikšmė, panaši į A2 langelyje A6. Kaip gauti tą vertę? Čia pateikiama pagalbos (rasti, ką, po) sintaksė.

Po apibrėžia langelį, po kurio nuorodos norime ieškoti duomenų.

Parašykime aukščiau nurodytų duomenų kodą.

  • Visada nepamirškite įgalinti kūrėjo skirtuką iš parinkčių ir tada pritaikyti juostą „Excel“, kad galėtumėte parašyti kodą VBA.
  • VBA gauname „Microsoft Excel“ objektus, kurie yra modulis, kuriame rašome kodus.

  • Anksčiau dirbome 1 lape, dabar dirbame 2 lape, todėl pasirinkite 2 modulį kitam moduliui ir pasirodys tuščias puslapis.

  • Dabar pradėkite rašyti kodą, pirmiausia apibrėždami funkciją kaip SUB Sample2 () ir paspauskite enter.

  • Dabar mes apibrėžėme savo funkciją ir pradėsime patekti į pagrindinę dalį, apibrėžiančią mūsų kintamuosius.

  • Apibrėžkite, ką turėtų turėti kintamasis „Find“,

  • Pasirinkite lapus, kuriuos mes dirbame, yra šio pavyzdžio 2 lapas,

  • Dabar mes rasime tekstą, ką vartotojas įves po A2 langelio, todėl mes nustatysime savo paieškos funkciją taip, kaip nurodyta toliau,

  • Dabar kodą uždarome baigdami ženklu „ir“ ir, jei sąlygos.

Tai, ką daro aukščiau pateiktas kodas, yra ieškoti eilutės po langelio A2 ir grąžinti langelį visur, kur jis randamas.

Ką reikia atsiminti

  1. Pirmiausia turime įgalinti kūrėjo skirtuką, kad galėtume naudoti VBA.
  2. Kokią konkrečią vertę turime rasti?
  3. Jei reikšmė nerandama, funkcijos objektas nėra nustatytas.