ВБА логички оператори - ОР, АНД, КСОР, НОТ, ИС, & ЛИКЕ

ВБА вам омогућава да користите логичке операторе И, Ор, Не, Ксор да упоредимо вредности. Оператори се сматрају „логичким“, што значи да као резултат враћају Тачно или Нетачно.

Ако желите да научите како да упоредите жице, кликните овде: ВБА Упореди низове - СтрЦомп

Ако желите да научите како да користите операторе за поређење, кликните овде: ВБА оператори за поређење - није једнако & више

Коришћење оператора Анд Логицал

Тхе И логички оператор упоређује два или више услова. Ако су сви услови тачни, оператор ће вратити Труе. Ако бар један од услова није тачан, оператор ће вратити Фалсе. Ево примера:

123456789101112 Дим интА Ас ИнтегерДим интБ Ас ИнтегерДим блнРесулт Као БоолеанинтА = 5интБ = 5Ако је интА = 5 И интБ = 5 ТадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

У овом примеру желимо да проверимо да ли обоје интА и интБ једнаки су 5. Ако је ово тачно, вредност Булове вредности блнРесулт биће Тачно, у супротном ће бити Нетачно.

Прво, постављамо вредности за интА и интБ до 5:

12 интА = 5интБ = 5

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

12345 Ако је интА = 5 И интБ = 5 ТадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

Како су обе променљиве једнаке 5, блнРесулт враћа Труе:

Слика 1. Употреба логичког оператора Анд у ВБА

Коришћење или логичког оператора

Тхе Ор логички оператор упоређује два или више услова. Ако је бар један од услова тачан, вратиће се Тачно. Ако ниједан од услова није тачан, оператор ће вратити Фалсе. Ево кода за пример:

123456789101112 Дим интА Ас ИнтегерДим интБ Ас ИнтегерДим блнРесулт Као БоолеанинтА = 5интБ = 10Ако је интА = 5 Или интБ = 5 ТадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

У овом примеру желимо да проверимо да ли обоје интА једнака је 5. или интБ једнака је 10. Ако је било који од ових услова тачан, вредност Боолове вредности блнРесулт биће Тачно, у супротном ће бити Нетачно.

Прво смо поставили вредност интА до 5 и интБ до 10:

12 интА = 5интБ = 10

Након тога користимо Ор оператор у наредби Иф да провери да ли је нека од вредности једнака 5:

12345 Ако је интА = 5 Или интБ = 5 ТадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

Као интА вредност је 5, блнРесулт враћа Труе:

Слика 2. Употреба логичког оператора Ор у ВБА

Коришћење оператора који није логичан

Тхе Не логички оператор проверава један или више услова. Ако су услови тачни, оператор враћа Фалсе. У супротном, враћа Труе. Ево кода за пример:

12345678910 Дим интА Ас ИнтегерДим блнРесулт Као БоолеанинтА = 5Ако није (интА = 6), тадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

У овом примеру желимо да проверимо да ли је вредност интА није једнако 6. Ако интА је различита од 6, вредност логичке вредности блнРесулт биће Тачно, у супротном ће бити Нетачно.

Прво смо поставили вредност интА до 5:

1 интА = 5

Након тога користимо оператор Нот у наредби Иф да проверимо да ли је вредност интА различита од 6:

12345 Ако није (интА = 6), тадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

Као интА вредност је 5, блнРесулт враћа Труе:

Слика 3. Коришћење оператора Није логично у ВБА

Коришћење Ксор логичког оператора

Тхе Ксор логички оператор упоређује два или више услова. Ако је тачно један од услова тачан, вратиће се Тачно. Ако ниједан од услова није тачан или је више њих тачно, вратиће се као Нетачно. Ево кода за пример:

123456789101112 Дим интА Ас ИнтегерДим интБ Ас ИнтегерДим блнРесулт Као БоолеанинтА = 5интБ = 10Ако је интА = 5 Ксор интБ = 5 ТадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

У овом примеру желимо да проверимо да ли је тачно једна од вредности (интА или ИнтБ) једнака 5. Ако је само један услов тачан, вредност логичке вредности блнРесулт биће Тачно, у супротном ће бити Нетачно.

Прво смо поставили вредност интА до 5 и интБ до 10:

12 интА = 5интБ = 10

Након тога користимо Ор оператор у наредби Иф да провери да ли је нека од вредности једнака 5:

12345 Ако је интА = 5 Ксор интБ = 5 ТадаблнРесулт = ТачноИначеблнРесулт = НетачноКрај Ако

Као интА вредност је 5 и интБ је 10, блнРесулт враћа Труе:

Слика 4. Употреба Ксор логичког оператора у ВБА

Је Оператор

Ис Оператор тестира да ли две променљиве објекта чувају исти објекат.

Погледајмо пример. Овде ћемо доделити два радна листа објектима радног листа рнг1 и рнг2, тестирајући да ли два објекта радног листа чувају исти радни лист:

12345678910111213 Суб ЦомпареОбјецтс ()Дим вс1 као радни лист, вс2 као радни листСет вс1 = Табеле ("Лист 1")Сет вс2 = Табеле ("Лист 2")Ако је вс1 Ис вс2 ТадаМСБок "Исти ВС"ИначеМсгБок "Различити ВС -ови"Крај АкоЕнд Суб

Наравно, објекти радног листа нису исти, па се враћа „Дифферент ВСс“.

Као Оператор

Оператор Лике може упоредити два низа за нетачна подударања. Овај пример ће тестирати да ли низ почиње са „Мр.“

1234567891011121314 Суб ЛикеДемо ()Дим стрНаме Ас СтрингДим блнРесулт Као БоолеанстрНаме = "Господин Мицхаел Јамес"Ако стрНаме Као "Мр*" ОндаблнРесулт = ТачноИначеблнРесулт = НетачноКрај АкоЕнд Суб

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave