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

Преглед садржаја

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примери

Пример # 1

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

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

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

Подузорак () ДимФиндС Ас Стринг
Дим
Рнг Ас Ранге ФиндС = ИнпутБок („Унесите вредност коју желите да претражите“)
Са табелама („Схеет1“). Распон („А: А“)
  • Узорак је име функције дато суб.
  • Пронађи је низ који желимо да претражује корисник којег желимо да унесемо.
  • Рнг је променљива коју смо узели за опсег.
  • Сада тражимо од корисника да унесе вредност која изгледа као снимак екрана испод,
  • Сада ћемо дефинисати нашу функцију проналажења у модулу.
  • Функција проналази вредност коју је корисник унео у дати опсег.
  • Сада функцију затварамо следећим аргументима.
  • Сада, ако прво покренемо наш код, он тражи од корисника упит за вредност.
  • Једном када је код завршен, враћа ћелију тамо где су подаци пронађени.

Пример # 2

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

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

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

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

  • Увек не заборавите да омогућите картицу програмера из опција, а затим из прилагођавања врпце у Екцелу да бисте могли да напишете код у ВБА.
  • У ВБА добијамо Мицрософт екцел објекте, који је модул у коме пишемо кодове.
  • Раније смо радили на листу 1; сада радимо на листу 2, па изаберите лист 2 за други модул и појавиће се празна страница.
  • Сада почните писати код дефинишући функцију прво као СУБ Сампле2 () и притисните ентер.
  • Сада смо дефинисали своју функцију; почећемо да улазимо у главни део, који дефинише наше променљиве.
  • Дефинишите шта треба да има променљива Финд,
  • Изаберите листове на којима радимо, а то је лист 2 у овом примеру,
  • Сада ћемо пронаћи текст шта год корисник унесе након ћелије А2, па дефинишемо нашу функцију проналаска као испод,
  • Сада затворимо код завршавањем услова иф и иф.

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

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

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

Занимљиви Чланци...