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

„Excel VBA“ radimas

Naudodami „Find“ įprastame darbalapyje, paspauskite spartųjį klavišą CTRL + F ir įveskite duomenis, kuriuos turime rasti, o jei ne norima vertė, einame į kitas rungtynes, jei tokių 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. Įprastoje programoje „Excel“ skirtuke „Pagrindinis“ esančioje redagavimo grupėje galime rasti paieškos funkciją, kuri naudojama eilutei ar reikšmei surasti langelių diapazone arba visame darbalapyje.

Kai spustelėsime tai, gausime dvi galimybes;

Vieną paprasta rasti,

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 kodus rašome 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į ten, kur yra vertė, o jei reikšmė nerandama, funkcijos objektas nėra nustatytas.

Makrokomandose yra apibrėžti diapazonai, tokie kaip 1 arba 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 komentaras, ar formulė, ar eilutė. Panašiai yra ir kiti „Find“ funkcijos apribojimai, 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ą, tai yra „Kokią vertę norime ieškoti“. Kiti apribojimai yra neprivalomi, o paieškos funkcijoje yra daug apribojimų. Funkcija „Rasti“ yra panaši į „Excel“ funkciją.

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

Pavyzdžiai

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 kūrėjo skirtuką programoje „Excel“, kad būtų galima rašyti VBA kodus.
  • Mes pradedame rašyti savo kodą rašydami šį kodą, kaip parodyta žemiau,
Antrinis pavyzdys () „
DimFindS“ kaip eilutė „
Dim Rng“ kaip diapazonas „
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 pirmiausia paleidžiame savo kodą, jis prašo vartotojo paraginti vertės.
  • 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 surasti 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ė.

Apibrėžęs langelį, po kurio nuorodos, mes norime ieškoti duomenų.

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

  • Visada nepamirškite įgalinti kūrėjo skirtuką iš parinkčių ir pritaikyti juostelę „Excel“, kad galėtumėte parašyti kodą VBA.
  • VBA gauname „Microsoft Excel“ objektus, tai yra modulis, kuriame rašome kodus.
  • Anksčiau mes dirbome prie 1 lapo; Dabar mes dirbame su 2 lapu, 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ą; mes pradėsime patekti į pagrindinę dalį, apibrėžiančią mūsų kintamuosius.
  • Apibrėžkite, ką turi kintamasis „Find“,
  • Pasirinkite lapus, kuriuos mes dirbame, tai yra šio pavyzdžio 2 lapas,
  • Dabar mes rasime tekstą, ką vartotojas įves po langelio A2, 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, norėdami naudoti VBA, turime įgalinti kūrėjo skirtuką.
  2. Kokią konkrečią vertę turime rasti?
  3. Jei reikšmė nerandama, funkcijos objektas nėra nustatytas.

Įdomios straipsniai...