ВБА ИИФ | Како се користи функција ВБА ИИФ у програму Екцел? (са примерима)

Екцел ВБА ИИФ

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

Шта ИИФ стање ради у ВБА?

Ово је врло слично нашем ИФ стању, али мало другачије природе. Услов „ВБА ИИФ“ тестира испоручени израз или логички тест и као резултат враћа ТРУЕ или ФАЛСЕ.

Синтакса ВБА ИИФ

Погледајте синтаксу функције ИИФ.

  • Израз: Ово није ништа друго до логички тест који бисмо желели да спроведемо.
  • Туре Део: Ако је логички тест ИСТИНА, шта би требало да буде резултат дела ИСТИНА.
  • Лажни део: Ако је логички тест ФАЛСЕ, шта би требало да буде резултат ФАЛСЕ дела.

Своје резултате можемо унети са ТРУЕ & ФАЛСЕ деловима. Иако аргументи изгледају слично аргументима ИФ, ово ће бити мало другачије. То ћемо видети на примерима функције Екцел ВБА ИИФ.

Једна од кључних разлика између уобичајеног „ИФ“ и овог „ИИФ“ је та што можемо смањити код у једну линију са ИИФ-ом, где је у случају ИФ потребно најмање 5 редова да би се добио исти резултат.

Пример ВБА ИИФ функције

Испод су примери ВБА ИИФ функције у екцелу.

Овај ВБА ИИФ Екцел образац можете преузети овде - ВБА ИИФ Екцел предложак

Пример # 1 - ВБА ИИФ

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

Корак 1: Покрените макро.

Корак 2: Дефинишите променљиву као Стринг у ВБА.

Шифра:

 Суб ИИФ_Екампле () Дим ФиналРесулт Ас Стринг Енд Суб 

Корак 3: Дефинишите још две променљиве као Лонг у ВБА.

Шифра:

 Суб ИИФ_Екампле () Дим ФиналРесулт ас стринг Дим Нумбер1 Ас Лонг Дим Нумбер2 Ас Лонг Енд Суб 

Корак 4: Сада за променљиву „Нумбер1“ доделите вредност 105, а за променљиву „Нумбер2“ вредност 100.

Шифра:

 Суб ИИФ_Екампле () Дим ФиналРесулт ас стринг Дим Нумбер1 Ас Лонг Дим Нумбер2 Ас Лонг Нумбер1 = 105 Нумбер2 = 100 Енд Суб 

Корак 5: Сада ћемо за прву дефинисану променљиву „ФиналРесулт“ доделити резултат ИИФ функције. Дакле, отворите ИИФ за променљиву.

Корак 6: Наведите израз као Број1> Број2.

Корак 7: Ако је израз ТРУЕ, какав би требао бити резултат. Резултат ћу доделити као „Број 1 је већи од броја 2“.

Корак 8: Ако је израз ФАЛСЕ, шта би требао бити резултат. Резултат ћу доделити као „Број 1 је мањи од броја 2“.

Сада ће вредност променљиве бити једно од доле наведених.

Ако је тачно: „Број 1 је већи од броја 2“

Ако је нетачно: „Број 1 је мањи од броја 2“

Корак 9: Покажимо резултат у оквиру за поруке у ВБА.

Шифра:

 Суб ИИФ_Екампле () Дим ФиналРесулт Ас стринг Низ Дим Нумбер1 Ас Лонг Дим Нумбер2 Ас Лонг Нумбер1 = 105 Нумбер2 = 100 ФиналРесулт = ИИф (Нумбер1> Нумбер2, "Нумбер 1 ис Греатер тхан Нумбер 2", "Нумбер 1 ис Лесс тхан Нумбер 2") МсгБок ФиналРесулт Енд Суб 

Сада покренимо код и видимо резултат.

Пошто је вредност броја 1 105 што је веће од вредности броја 2 вредности 100, добили смо резултат као „број 1 је већи од броја 2“. Пошто је израз ТРУЕ, ИИФ услов је вратио овај резултат.

Пример # 2 - ИФ вс ИИФ

Сигурно се питате која је разлика између ИФ и ИИФ. Да, постоји разлика у кодирању. На пример, погледајте код ИФ стања.

Шифра:

 Суб ИИФ_Екампле () Дим ФиналРесулт ас стринг Дим Нумбер1 Ас Лонг Дим Нумбер2 Ас Лонг Нумбер1 = 105 Нумбер2 = 100 Иф Нумбер1> Нумбер2 тхен МсгБок "Нумбер 1 ис Греатер тхан Нумбер 2" Елсе МсгБок "Нумбер 1 ис Лесс тхан Нумбер 2" Енд Иф Енд Суб 

Користећи ИФ прво применили смо логички тест.

 Ако је Број1> Број2 Тада 

Онда, ако је логички тест тачан, применили смо резултат.

МсгБок "Број 1 је већи од броја 2"

Онда, ако је логички тест нетачан, применили смо различите резултате.

МсгБок "Број 1 је мањи од броја 2"

Обе функције враћају исти резултат, али са ИИФ-ом можемо кодирати само у једном реду, где израз ИФ захтева више линија.

Пример # 3 - ВБА угнежђено ИИФ стање

Као што користимо угнежђени ИФ за тестирање више услова, слично можемо користити и вишеструке ИИФ. Погледајте доњи код.

Шифра:

 Суб ИИФ_Екампле2 () Затамни ФиналРесулт као низ Затамни као дугачке ознаке = 98 ФиналРесулт = ИИф (Ознаке> 90, "Дист", ИИф (Ознаке> 80, "Прво", ИИф (Ознаке> 70, "Друго", ИИф (Ознаке > 60, "Треће", "Неуспело")))) МсгБок ФиналРесулт Енд Суб 

Горе наведени ИИФ услов тестира пет логичких тестова и у складу с тим враћа резултат.