Како користити функцију Финд у ВБА (6 примера)

  • Деле Ово
Hugh West

Једна од најважнијих и најчешће коришћених функција које користимо у Висуал Басиц апликацији (ВБА) је функција Финд. У овом чланку ћу вам показати како можете да користите ФИНД функцију Екцел-а са одговарајућим примерима и илустрацијама.

Преузмите Вежбање

Пронађи функцију у ВБА у Екцел.клсм

6 брзих примера за коришћење функције ФИНД у ВБА

Ево нас добио скуп података са Називима књига, ауторима и Ценама неких књига књижаре под називом Мартин Бооксторе.

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

1. Користите функцију Пронађи у ВБА без параметара

Можете користити Пронађи функцију од ВБА без параметара.

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

Потражимо име “П. Б. Схелли” у колони Аутор ( Ц4:Ц13 ).

Линија са Пронађи функцију ће бити:

Set cell = Range("C4:C17").Find("P. B. Shelly")

Комплет ВБА код ће бити:

ВБА код:

5286

Излаз:

Производи Макро под називом Пронађи . Ако покренете макро, он ће вратити $Ц$6 , прву адресу ћелије са именом П. Б. Схелли .

Прочитајте више: Пронађите у опсегу са ВБА уЕкцел: укључујући тачна и делимична подударања

2. Примените функцију Финд у ВБА помоћу параметра Афтер (да бисте започели претрагу из одређене ћелије)

Можете да користите параметар Афтер са Финд функцијом у ВБА . Затим ће почети да тражи вредност испод ћелије унутар опсега.

На пример, почнимо да тражимо име „П. Б. Схелли” из доње ћелије Ц6 .

Линија кода ће бити:

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))

А комплетан ВБА код ће бити:

ВБА код:

2297

Излаз:

Вратиће $Ц$13 јер почиње претрагу испод ћелије Ц6 , то је из ћелије Ц7 . Тако добија П. Б. Схелли у ћелији Ц13 прво.

Прочитајте више: Како пронаћи стринг у Ћелија која користи ВБА у програму Екцел

3. Покрените функцију Финд у ВБА са премотавањем параметра Афтер (да бисте тражили вредност на кружни начин)

Параметар Афтер са Финд функцијом тражи вредност на кружни начин

То јест, почиње претрагу одоздо ћелије унутар опсега, завршава претрагу у опсегу, а затим поново почиње од врха опсега.

На пример, хајде да почнемо да претражујемо име “Јохн Кеатс” од испод ћелије Ц8 користећи параметар Афтер .

Линија код ће бити:

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

Икомплетан ВБА код биће:

ВБА код:

2679

Излаз:

Вратиће $Ц$7 јер почиње да тражи од испод ћелије Ц8 , то је од ћелија Ц9 .

Не налази ништа до ћелије Ц13 , тако да поново почиње од ћелије Ц4 и проналази једну у ћелији Ц7 .

Слична читања:

  • Како пронаћи стринг помоћу ВБА у Екцел-у (8 примера)
  • Пронађи тачно подударање користећи ВБА у Екцел-у (5 начина)
  • Како пронаћи и заменити користећи ВБА (11 Начини)

4. Користите функцију Финд у ВБА са параметром ЛоокАт (за тачно или делимично подударање)

Можете користити Финд функцију у ВБА са ЛоокАт параметар.

Користите ЛоокАт = клВхоле за Тачно подударање и ЛоокАт=клПарт за Делимично подударање.

На пример, хајде да покушамо да сазнамо да ли постоји књига са именом „Оде” у колони Назив књиге ( Б4:Б13 ).

Ако користимо клВхоле у реду кода:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

Излаз ће показати грешку јер неће пронаћи ниједно тачно подударање.

Али ако користите:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

Онда ће вратити $Б$9 , јер у ћелији постоји књига са именом „Оде” Б7 , Ода славују.

Дакле, комплетан код за делимично подударањеје:

ВБА код:

2926

5. Управљајте функцијом Финд у ВБА помоћу параметра СеарцхДирецтион (да бисте одредили правац претраге)

Можете да користите и функцију Финд у ВБА са СеарцхДирецтион параметар.

Користите СеарцхДирецтион = клНект за претрагу од Од врха до дна .

И СеарцхДирецтион = клПревиоус за претрагу од од дна ка врху .

На пример, хајде да покушамо да пронађемо аутора Елиф Схафак у колони Аутор ( Ц4:Ц13 ).

Ако користимо клНект у реду кода:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

Онда ће вратити $Ц$5 .

Али ако користите:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)

Онда ће вратити $Ц$11 .

Дакле, комплетан код за претрагу од одоздо нагоре је:

ВБА код:

9591

6. Пронађи функцију у ВБА са параметром МатцхЦасе (за подударање осетљиво на велика и мала слова)

Коначно, можете да користите Финд функцију са параметром МатцхЦасе .

Користите МатцхЦасе = Труе за матцх-сенситиве матцх , и МатцхЦасе=Фалсе за подударање без обзира на велика и мала слова.

На пример, хајде да покушамо да пронађемо књигу “мајка” у колони Назив књиге ( Б4:Б13 ).

Ако користимо Труе у реду кода:

Set cell = Range("B4:B13").Find("mother", MatchCase:=True)

Излаз ће показати грешку јер неће т наћи било којиподударање.

Али ако користите:

Set cell = Range("B4:B13").Find("mother", MatchCase:=False)

Онда ће вратити $ Б$9 јер постоји књига под називом “Мајка” у ћелији Б8 .

Дакле, комплетан код за подударање неосетљиво на велика и мала слова је:

ВБА код:

4995

Закључак

Користећи ове методе, можете користити функцију Финд у апликацији Висуал Басиц. Имате било каквих питања? Слободно нас питајте.

Хју Вест је веома искусан Екцел тренер и аналитичар са више од 10 година искуства у индустрији. Дипломирао је рачуноводство и финансије и магистрирао пословну администрацију. Хју има страст према подучавању и развио је јединствен приступ подучавању који је лако пратити и разумети. Његово стручно знање о Екцел-у помогло је хиљадама студената и професионалаца широм света да унапреде своје вештине и постану успешни у каријери. Кроз свој блог, Хју дели своје знање са светом, нудећи бесплатне Екцел туторијале и онлајн обуку како би помогли појединцима и предузећима да остваре свој пуни потенцијал.