Екцел ВБА И функција
АНД је логичка функција, као и логички оператор, што значи да ако су сви услови наведени у овој функцији испуњени, само ћемо ми добити истински резултат, док ако било који од услова не успије, излаз се враћа у фалсе, уграђена И наредба у ВБА за употребу.
Надам се да сте прошли наш чланак о „ВБА ИЛИ“ и „ВБА АКО ИЛИ.“ Ова функција је управо супротна функцији ОР. У функцији ОР био нам је потребан било који од понуђених логичких услова да бисмо добили резултат као ТАЧНО. Али у функцији АНД, управо је обрнуто. Да би се добио резултат ТРУЕ, морају се задовољити сви испоручени логички тестови у екцелу.
Ок, погледајте синтаксу функције АНД у екцелу.
(Логички тест) И (Логички тест) И (Логички тест)

У горе наведеном, имам две оцене на тесту од 600.
У колони резултата морам да добијем резултат као ИСТИНИТО ако је оцена оба теста већа од једнаке 250.
Погледајте доњу слику.

Када применимо логичку функцију И добили смо резултате. У ћелијама Ц4 и Ц5 добили смо резултат као ИСТИНИТО јер су резултати теста 1 и теста 2 већи или једнаки 250.
Погледајте ћелију Ц6 овде. Добили смо ФАЛСЕ иако је резултат теста 2 једнак 250. То је зато што је у тесту 1 резултат само 179.
Примери за употребу ВБА и функције
Пример # 1
На пример, овде ћемо тестирати бројеве, било да је 25> = 20 и 30 <= 31.
Корак 1: Прогласите променљиву као Стринг.
Шифра:
Суб АНД_Екампле1 () Дим К Ас Стринг Енд Суб

Корак 2: За променљиву „к“ доделићемо вредност применом функције АНД.
Шифра:
Суб АНД_Пример1 () Дим К Као низ К = Крај Суб

Корак 3: Наведите први услов као 25> = 20.
Шифра:
Суб АНД_Пример1 () Дим К Као низ К = 25> = 20 Крај Суб

Корак 4: Сада отворите функцију АНД и испоручите други логички тест, тј. 30 <= 29.
Шифра:
Суб АНД_Пример1 () Дим К Као низ К = 25> = 20 И 30 <= 29 Крај Суб

Корак 5: Сада покажите резултат променљиве „к“ у оквиру за поруке у ВБА.
Шифра:
Суб АНД_Екампле1 () Дим К Ас Стринг К = 25> = 20 И 30 <= 29 МсгБок К Енд Суб

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

Резултат смо добили ФАЛСЕ јер смо од примењена два услова, први услов 25> = 20, овај услов задовољили, тако да је резултат ИСТИНА, а други услов 30 <= 29 ово није задовољен резултат је ФАЛСЕ. Да би се резултат добио ТАЧНО, морају бити задовољена оба услова.
Пример # 2
Сада ћу променити логички тест у „100> 95 И 100 <200.“
Шифра:
Суб АНД_Екампле2 () Дим к Ас Стринг к = 100> 95 И 100 <200 МсгБок к Енд Суб
Покрените код да бисте видели резултат.

Овде смо добили ИСТИНУ као резултат јер
1 Ст логички тест: 100> 95 = труе
2 нд Логички Тест: 100 <200 = ТРУЕ
Пошто смо добили ИСТИНИТЕ резултате за оба логичка теста, наш коначни резултат је ИСТИНИТ.
Пример # 3
Сада ћемо видети податке са радног листа. Користите податке које смо користили за приказ примера функције екцел И.

Овде је услов Тест 1 Оцена> = 250 И Тест 2 Оцена> = 250 .
С обзиром да имамо више од једне ћелије података, морамо да користимо петље како бисмо избегли писање непотребних и дуготрајних редова кодова. Написао сам доњи код за вас; формула и логика су исто, једино што сам користио „ВБА за следећу петљу“.
Шифра:
Суб АНД_Екампле3 () Дим к као цео број за к = 2 до 6 ћелија (к, 3) .Вредност = ћелије (к, 1)> = 250 и ћелије (к, 2)> = 250 Следеће к Крај Суб
Ово ће дати резултат потпуно исти као и функција нашег радног листа, али нећемо добити никакве формуле. Добијамо само резултате.

Овако, можемо применити логичку функцију АНД да тестирамо више услова, а сви би требали бити ИСТИНА да би се дошло до жељених резултата.
Ово ради потпуно супротно од функције ОР, где ОР захтева да било који од понуђених услова буде ИСТИНА да би се добили резултати, али И захтева 100% резултат у логичком тесту да би се добили резултати.