ВБА функција проналажења | Како се користи ВБА функција проналажења? (Примери)

Екцел ВБА Финд

Када користимо Финд у уобичајеном радном листу, притиснемо пречицу на тастатури ЦТРЛ + Ф и укуцамо податке које треба да пронађемо, а ако не желимо жељену вредност идемо на следеће подударање, ако има пуно таквих подударања то је досадан задатак, али када користимо ФИНД у ВБА, он обавља задатке уместо нас и даје нам тачно подударање, а потребна су три аргумента, један је шта наћи, где пронаћи и где тражити.

Пре него што пређемо на ВБА и почнемо да користимо функцију проналажења у макроима, прво морамо да научимо шта је функција проналажења у екцелу. У нормалном Екцелу на картици Почетна испод групе за уређивање можемо пронаћи функцију проналажења која се користи за проналажење низа или вредности у опсегу ћелија или целом радном листу.

Када кликнемо на ово, добићемо две могућности;

Једно је једноставно пронаћи,

Видимо да има и режим опција који отвара још једну функцију.

Ради алгоритам проналажења са четири ограничења, Пронађи шта, Унутар, Претражи и погледај.

Друга опција у Екцелу је Проналажење и замена која се користи када пронађемо низ, али шта да заменимо било којом другом вредношћу,

Пронађи синтаксу функције

Изнад смо научили шта је Финд ин басиц екцел. У ВБА кодове пишемо ручно, али карактеристике су исте као и у нормалном екцелу. Прво, погледајмо синтаксу.

Екпрессион.Финд (Вхат, лоокин, ....)

Ако је вредност коју тражимо пронађена са екцел функцијом, она враћа ћелију у којој је вредност, а ако вредност није пронађена, онда се објект функције не поставља на ништа.

Изрази у макроима су дефинисани опсези као што су опсег 1 или опсег 2. Шта је кључна реч за оно што желимо да претражимо за одређену вредност? Лоокин је кључна реч за оно што покушавамо да претражимо да ли је коментар, формула или низ. Слично томе, у функцији Проналажења постоје и друга ограничења која нису обавезна. Обавезно обавезно поље је вредност коју покушавамо да претражимо.

У основи, ВБА проналази да Екцел има један потребан аргумент, а то је Коју вредност желимо да претражимо. Остала ограничења нису обавезна и постоји много ограничења у функцији проналажења. Пронађи функцију је слично функцији проналажења у екцелу.

Параметар функције проналажења је опсег ћелија. Као у ком опсегу желимо да пронађемо вредност. То може бити неколико колона или неколико ћелија или читав радни лист.

Примери

Овде можете преузети овај ВБА ПРОНАЂИ функцију Екцел предложак - ВБА ПРОНАЂИ функцију Екцел предложак

Пример # 1

Претпоставимо да наши подаци имају следеће вредности

Покушаћемо да нађемо „Аран“ у истим подацима.

  • За писање ВБА кода потребно је омогућити језичак програмера у екцелу да бисте могли писати ВБА кодове.

  • Наш код започињемо писањем следећег кода као што је приказано доле,
Подузор ()

Дим се налази као низ

Дим Рнг Ас Ранге

ФиндС = ИнпутБок („Унесите вредност коју желите да претражите“)

Са табелама („Схеет1“). Опсег („А: А“)

  • Узорак је име функције дато суб.
  • Пронађи је низ који желимо да претражује корисник којег желимо да унесемо.
  • Рнг је променљива коју смо узели за опсег.
  • Сада тражимо од корисника да унесе вредност која изгледа као снимак екрана испод,

  • Сада ћемо дефинисати нашу функцију проналажења у модулу.

  • Функција проналази вредност коју је корисник унео у дати опсег.
  • Сада функцију затварамо следећим аргументима.

  • Сада ако прво покренемо наш код, тражи се од корисника упит за вредност.

  • Једном када је код завршен, враћа ћелију тамо где су подаци пронађени.

Пример # 2

У горњем примеру постојала су четири јединствена имена, али шта ако је у подацима било више имена, као што су подаци у наставку,

Можемо видети да се име Аран у наведеним подацима понавља два пута. Ако екцел мора да пронађе име Аран, наћи ће га у ћелији А2 и зауставити се, али постоји још једна вредност слична вредности А2 у ћелији А6. Како добити ту вредност? Ево синтаксе Финд (Вхат, Афтер) у помоћи.

Након дефинише ћелију након које референце желимо да претражимо податке.

Напишимо код за горње податке.

  • Увек не заборавите да омогућите картицу програмера из опција, а затим из прилагођавања врпце у Екцелу да бисте могли да напишете код у ВБА.
  • У ВБА добијамо Мицрософт екцел објекте који је модул у који пишемо кодове.

  • Раније смо радили на листу 1, сада радимо на листу 2, па изаберите лист 2 за други модул и појавиће се празна страница.

  • Сада почните писати код дефинишући функцију прво као СУБ Сампле2 () и притисните ентер.

  • Сада смо дефинисали нашу функцију и почећемо да улазимо у главни део који дефинише наше променљиве.

  • Дефинишите шта треба да има променљива Финд,

  • Изаберите листове на којима радимо, а то је лист 2 у овом примеру,

  • Сада ћемо пронаћи текст шта год корисник унесе након ћелије А2, па дефинишемо нашу функцију проналаска као испод,

  • Сада затворимо код завршавањем услова иф и иф.

Оно што чини горњи код је претрага низа након ћелије А2 и враћање ћелије где год је пронађена.

Ствари које треба запамтити

  1. Прво најпре морамо да омогућимо картицу програмера да бисмо могли да користимо ВБА.
  2. Која је специфична вредност коју треба да пронађемо?
  3. Ако вредност није пронађена, објект функције се не поставља на ништа.