Екцел ВБА: Ако ћелија садржи вредност, вратите наведени излаз

  • Деле Ово
Hugh West

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

Екцел ВБА анализа: ако ћелија садржи вредност онда (брзи преглед)

5623

Преузмите радну свеску за вежбу

Преузмите ову радну свеску да бисте вежбали док читате овај чланак.

ВБА ако ћелија садржи вредност Тхен.клсм

Екцел ВБА анализа: Ако ћелија садржи вредност, онда вратите излазе (анализа корак по корак)

Овде имамо скуп података са оценама неких ученика из физике, хемије, и математику у школи Сунцокрет Киндергартен.

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

⧪ Корак 1: Декларисање ћелије

Прво, морамо да декларишемо ћелију чију вредност желимо да анализирамо. Хајде да анализирамо да ли се Џенифер Марло појавила на испиту из физике или не.

Због тога, морамо да проверимо да ли ћелија Ц12 садржи вредност или не.

Да бисмо то урадили, прво, морамо декларисати ћелију Ц12 .

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

5451

⧪ Корак 2: Провера да ли ћелија садржи вредност (укључујући и посебну вредност)

Даље, морамо да проверимо да лићелија садржи вредност или не. Ово ћемо извршити помоћу Иф услова . Линија  кода ће бити:

4855

Овај код ће бити извршен ако ћелија садржи било коју вредност. Да бисте проверили вредност (на пример, да ли садржи 100 или не), користите ту специфичну вредност са симболом Једнако .

8442

⧪ Корак 3: Додела задатка

Онда морате да подесите задатак који ће се извршити ако ћелија садржи вредност (или одређену вредност).

Овде желимо да прикажемо поруку „Џенифер Марло се појавила на испиту из физике.“ . Дакле, линија кода ће бити:

5527

⧪ Корак 4: Завршетак Иф блока

Коначно, морате да прогласите крај блока Иф.

7708

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

⧭ ВБА код:

5868

⧭ Излаз:

Покрените овај код кликом на дугме Рун Суб/УсерФорм на траци са алаткама.

Приказаће поруку „Џенифер Марло се појавила на испиту из физике.“ пошто ћелија Ц12 садржи вредност од 50 .

Примери који укључују ако ћелија садржи вредност, а затим одређени излаз са Екцел ВБА

Научили смо да анализирамо да ли ћелија садржи вредност или не у ВБА . Сада, хајде да истражимо неке примере да бисмо разумели јасно.

1. Развијање макроа за филтрирање вредности Ако одговарајућа ћелија садржи било коју вредност, онда у Екцел ВБА

Хајде да развијемо Макро да филтрирамо студенте који су се појавили на сваком од испита.

То јест, морамо да проверимо ћелије које садрже оцене сваког од предмета и да видимо да ли садрже вредност или не.

Ако то ураде, онда морамо да средимо име одговарајућег ученика.

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

⧭ ВБА код:

6721

⧭ Излаз:

Изаберите скуп података ( Укључујући Хеадерс ) и покрените овај Макро .

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

Затим кликните на ОК . Добићете имена студената који су се појавили на сваком од испита (укључујући Заглавља ) у новом скупу података почевши од ћелије Г3 .

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

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

Процедура је скоро иста као у претходном. Морамо да проверимо ћелије које садрже оцене сваког од предмета и да видимо да ли су једнаке одређеној вредности или не.

Ако јесу, онда ћемо вратити име одговарајућег ученика.

Код ВБА ће бити:

⧭ ВБАКод:

9575

⧭ Излаз:

Код креира функцију под називом Целлс_витх_Валуес која узима два аргумента, Распон и Вредност .

Хајде да сазнамо ученике који су добили 100 у сваком од предмета користећи ову функцију.

Изаберите опсег ћелија на свом радном листу и унесите ову функцију у прву ћелију опсега:

=Cells_with_Values(B3:E13,100)

[Овде Б3: Е3 је мој скуп података (укључујући Заглавља ) и 100 је моја одговарајућа вредност. Користите своју.]

Затим притисните ЦТРЛ + СХИФТ + ЕНТЕР ( Формула низа ). Вратиће низ који се састоји од имена ученика који су добили 100 у сваком предмету, укључујући Заглавља .

3. Развијање корисничког обрасца за издвајање вредности ако одговарајућа ћелија садржи било коју вредност (или одређену вредност) у Екцел ВБА

Коначно, ми ћемо развити УсерФорм да издвојимо имена студената који су се појавили (или добили одређене оцене) на неким специфичним испитима.

⧪ Корак 1: Отварање корисничког обрасца

Идите на Убаци &гт; Опција УсерФорм у уређивачу ВБА да бисте отворили нови УсерФорм . Нови УсерФорм под називом УсерФорм1 ће бити отворен.

⧪ Корак 2: Превлачење алатки у кориснички образац

Поред УсерФорм , добићете и Тоолбок . Померите курсор преко Тоолбок и превуците 4 Лабелс (Лабел1, Лабел2,Лабел3, Лабел4) и 3 ЛистБокес (ЛистБок1, ЛистБок2, ЛистБок3) и а ТектБок (ТектБок1) у правоугаоном облику преко УсерФорм .

Затим превуците још једну Лабел (Лабел5) и ТектБок (ТектБок2) у доњи леви угао УсерФорм .

На крају, превуците ЦоммандБуттон (ЦоммандБуттон1) у доњи десни угао.

Промените приказе Лабелс у Лоокуп Цолумн , Повратна колона , Било која вредност или одређена вредност , Вредност, и Почетна ћелија.

Такође, промените приказ ЦоммандБуттон1 у ОК .

⧪ Корак 3: Писање кода за ЛистБок3

Двапут кликните на ЛистБок3 . Отвориће се Приватна потпроцедура под називом ЛистБок3_Цлицк . Тамо унесите следећи код.

8368

⧪ Корак 4: Писање кода за ЦоммандБуттон1

Затим двапут кликните на ЦоммандБуттон1 . Још једна Приватна потпроцедура под називом ЦоммандБуттон1_Цлицк ће се отворити. Тамо унесите следећи код.

7559

⧪ Корак 5: Писање кода за покретање корисничког обрасца

На крају, уметните нови Модуле из ВБА трака са алаткама и тамо уметните следећи код.

1835

⧪ Корак 6: Покретање корисничког обрасца (коначни излаз)

Ваш УсерФорм је сада спреман за употребу. Изаберите скуп података са радног листа ( Б3:Е13 овде) (укључујући Заглавља ) ипокрените Макро под називом Рун_УсерФорм .

УсерФорм ће се учитати у радни лист. Из табеле Колона за тражење , изабрао сам Физика и Математика , јер желим да добијем имена ученика која су се појавила у Физика и Математика испити.

Из табеле Повратна колона , изабрао сам Име ученика , јер желим да добијем имена студената.

И из табеле Било која вредност или специфична вредност , изабрао сам Било која вредност .

Коначно, у почетној ћелији поље, ставио сам Г3 .

Затим кликните на ОК . Добићете имена ученика који су се појавили на испитима физике и математике почевши од ћелије Г3 .

Да сте изабрали Специфична вредност из табеле Било која вредност или специфична вредност , имали бисте још један ТектБок да унесете одређену вредност.

Овде сам унео 100 .

Кликните на ОК . И добићете ученике који су добили 100 из физике и хемије .

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

Користили смо дводимензионални низ да вратимо имена ученика у кориснички дефинисаној функцији описаној у примеру 2 .

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