Оператори у програму Екцел ВБА

Знакови и кључне речи које користимо за управљање променљивим у ВБА називају се ВБА оператори. На пример, у редовима испод редови =, +,>, & су оператори.

суб Екамп () а = 12 б = 10 ц = а+б дебуг.принт "Збир а и б је" & ц енд суб 

Постоји пет врста оператора у било којем програмском језику, тако у ВБА
1. Оператор доделе
2. Аритметички оператер
3. Оператор поређења
4. Логички оператер
5. Оператер спајања

Хајде да погледамо сваку врсту оператора у Екцел ВБА.

1. Оператор доделе (=)

Ово је први оператор који ћете користити у било ком програмском језику. У ВБА се користи за додељивање вредности променљивим. То је "=" (једнако је).

Овај оператор користимо за додељивање вредности променљивим у екцелу ВБА. Такође се користи као оператор поређења у ВБА. О томе ћемо касније говорити у овом водичу.

Један једноставан пример је

суб тест () а = 10 Ранге ("А1"). валуе = а енд суб 

У горњем примеру, прво користимо оператор додељивања "=" за додељивање вредности променљивој "а", а затим помоћу оператора "=" додељујемо вредност "а" вредности опсега ("А1").

2. Аритметички оператори

Аритметички оператори су исти оператори које користимо од детињства за једноставне прорачуне. У Екцел ВБА, ови оператори се користе за израчунавање променљивих и бројева. Су:

(+) Аритметички додатак:Овај оператор се користи за додавање два или више бројева или вредности две или више променљивих. Редови испод сумирају вредности две променљиве и штампају је на ћелији "А1".

Суб Тест () а = 10 б = 12 Опсег ("А1"). Вредност =а+б Енд Суб

А1 ће имати 22. Овај оператор ради и као оператор повезивања. Ако оба, а и б имају вредности низа, онда ће оператор + радити као оператор повезивања. Видећемо како, касније у чланку.

(-) Аритметичко одузимање:Овај оператор се користи за одузимање једне вредности од друге вредности променљивих. Доња линија одузима вредност а од б и штампа је у ћелији "А1".

Суб Тест () а = 10 б = 12 Опсег ("А1"). Вредност =б-а Енд Суб

А1 на листу ће имати 2.

(*) Аритметичко множење:Овај оператор се користи за множење или добијање производа два или више бројева или вредности две или више променљивих. Доњи редови множе вредности две променљиве и штампају је на ћелији "А1".

Суб Тест () а = 10 б = 12 Опсег ("А1"). Вредност =а*б Енд Суб

Ћелија А1 ће имати вредност 120.

(/) Аритметичка подела:Овај оператор се користи за дељење једне вредности од друге. Доња линија дели вредност б променљивом а и штампа је у ћелији "А1".

Под Тест () а = 10 б = 12 Опсег ("А1"). Вредност =б/а Енд Суб

Ћелија А1 ће имати вредност 1.2.

(Мод) Оператор аритметичког остатка у ВБА: Док већина ПЛ користи % (модул) за добијање остатка, у ВБА користимо кључну реч Мод. Овај оператор се користи за добијање подсетника након поделе једне вредности од друге. Доња линија дели вредност б променљивом а и штампа вредност подсетника у ћелији А1.

Суб Тест () а = 10 б = 4 Опсег ("А1"). Вредност =а Мод б Енд Суб 

Ћелија А1 ће имати вредност 2.

(^) Аритметичка експоненцијална вредност:Овај оператор се користи за добијање експонента једне вредности у другу. Редови испод дају нам вредност 3 за експоненцијал 4.

Суб Тест () а = 3 б = 4 Опсег ("А1"). Вредност =а^б Енд Суб

Ћелија А1 ће имати вредност 81 (3к3к3к3).

Ови оператори у ВБА следе правило БОДМАС. У ВБА постоји само 6 аритметичких оператора. Постоје неки оператори који делују као две врсте оператора попут +. Научићете о њима док пролазите кроз овај водич.

3. Оператори поређења

Када желимо да упоредимо две вредности у ВБА, користимо операторе поређења. Резултат оператора поређења је увек Боолеов. Ако је изјава тачна, резултат је ТРУЕ. Ако је изјава нетачна, онда је вредност Нетачна. Ови оператори се често користе при доношењу одлука у ВБА. Да видимо шта су:

(=) Једнако:Да, знак = (једнако је) такође се користи као оператор поређења у ВБА. Када желимо да проверимо да ли су две променљиве једнаке или не, онда користимо овај оператор поређења.

Под Тест () а = 3 б = 4 Ако је а = б онда 'Враћа лажно МсгБок "А и б су једнаки." 'ово се неће извршити. Иначе МсгБок "А и б нису једнаки" Енд ИФ Енд Суб

У горњем примеру користимо наредбу Иф и проверавамо да ли су вредности а и б једнаке. Очигледно нису. Дакле, изјава Елсе се штампа.

То можете проверити једноставном употребом изјаве.

а = 3 б = 4 дебаг.принт а = б

Ово ће штампати Фалсе у непосредном прозору.

(<) Мање од:Ово се користи за проверу да ли је лева вредност мања од десне или није.

Под Тест () а = 3 б = 4 Ако је а

У горњем примеру проверавамо да ли је вредност а мања од б. Пошто је ово тачно, иф наредба се извршава, а Елсе не.

То можете проверити једноставном употребом изјаве.

а = 3 б = 4 отклањање грешака. а<>

Ово ће одштампати Труе у непосредном прозору.

(<=) Мање од или једнако:Ово се користи за проверу да ли је лева вредност мања или једнака десној вредности или није.

Под Тест () а = 4 б = 4 Ако је а <= б онда 'Враћа Труе МсгБок "А је мање или једнако б." 'ово ће бити извршено. Иначе МсгБок "А није једнако или мање од б." 'ово се неће извршити. Енд ИФ Крај Суб

У горњем примеру проверавамо да ли је вредност а мања од б. Пошто је ово тачно, наредба Иф се извршава, а Елсе не.

То можете проверити једноставном употребом изјаве.

а = 4 б = 4 дебаг.принт а <-б

Ово ће одштампати Труе у непосредном прозору.

(>) Више од:Ово се користи за проверу да ли је лева вредност већа од десне или није.

Суб Тест () а = 3 б = 4 Ако је а> б, онда ће 'вратити Фалсе МсгБок "А је веће од б." 'Ово неће бити извршено. Иначе МсгБок "А није веће од б." 'Ово ће бити извршено. Енд ИФ Крај Суб

У горњем примеру проверавамо да ли је вредност а већа од б. Пошто је ово Фалсе, иф наредба се неће извршити, а Елсе то ради.

То можете проверити једноставном употребом изјаве.

а = 3 б = 4 дебаг.принт а> б

Ово ће штампати Фалсе у непосредном прозору.

(> =) Више од:Ово се користи за проверу да ли је лева вредност већа или једнака десној вредности или није.

Под Тест () а = 3 б = 4 Ако је а> = б, онда ће 'вратити Фалсе МсгБок "А је веће или једнако б." 'Ово неће бити извршено. Иначе МсгБок "А није веће од или једнако б." 'Ово ће бити извршено. Крај ИФ

У горњем примеру проверавамо да ли је вредност а већа или једнака б. Пошто је ово Фалсе, иф наредба се неће извршити, а Елсе то ради.

То можете проверити једноставном употребом изјаве.

а = 3 б = 4 исправљање грешака а> = б

Ово ће штампати Фалсе у непосредном прозору.

() Неједнако са:Ово се користи за проверу да ли лева вредност није једнака десној вредности.

Под Тест () а = 3 б = 4 Ако аб онда 'Вратиће Труе МсгБок "А није једнако б,"' Ово ће се извршити. Иначе МсгБок "А и б су једнаки." 'Ово неће бити извршено. Енд ИФ Крај Суб

У горњем примеру проверавамо да ли је вредност а неједнако са б. Пошто је ово тачно, наредба Иф ће се извршити, а Елсе неће.

То можете проверити једноставном употребом изјаве.

а = 3 б = 4 дебуг.принт аб

Ово ће одштампати Труе у непосредном прозору.

Горе наведених шест оператора се називају оператори поређења јер их користимо за упоређивање две вредности или променљиве. Често ћете их користити у ВБА за доношење одлука у ВБА.

4. Логички оператори

Логички оператори се користе за извођење логичких операција на једној или више променљивих. Резултат таквих операција увек резултира ТРУЕ или ФАЛСЕ. Логички оператори се често (не увек) користе за проверу више од једног услова.

Испод су логички оператори које користимо у ВБА:

ВБА И оператор (И или *): Оператор ВБА АНД се користи да би се осигурало да су услови са његове леве и десне стране Тачни. Ако је било који од услова нетачан, цела изјава ће резултирати лажном. За операције АНД користимо кључну реч И или знак * (звездица).

Проверите следећу изјаву:

Под Тест () а = 10 б = 20 Ако је а <15 и б <15 Тада МсгБок "а и б су мањи од 15." 'Ово се не извршава. У супротном МсгБок "Или је а или б веће или једнако 15." 'Ово се извршава. Енд Иф Енд Суб 

Када покренемо горњи исечак, друга наредба иф се не извршава. Зато што је прва изјава са леве стране тачна, али изјава са десне стране је Нетачна. Отуда цела изјава враћа Фалсе.

У већини језика симбол & се користи као оператор АНД, али не и у ВБА. У ВБА можете користити оператор множења * (звездица) као оператор АНД како бисте били сигурни да су оба услова тачна.

У горњем примеру, можете користити доњу наредбу иф да учините исто.

Ако је (а <15) * (б <15) Тада

Морате користити заграде за одвајање условних исказа. У супротном, изјаве ће следити правило БОДМАС и резултат ће бити нетачан.

П1: Шта ће бити резултат доле наведене изјаве? Обавестите ме у одељку за коментаре испод:

дебуг.принт а10 АНД а = (б/2) АНД а<>

Када је вредност а 15, а б 30. Запишите у доњи одељак коментара.

ВБА ИЛИ Оператор (Или или +): Оператор ОР се користи када желимо да осигурамо да је услов Лефт тачан или десни услов ТРУЕ. Ако је било који од ова два услова тачан, резултат ће бити тачан. Ми користимо кључну реч ОР између два логичка исказа. Такође можете користити знак + (плус) за операцију ИЛИ. Само се уверите да правилно користите заграде да би изјаве биле јасне док користите знак +.

Прегледајте доњи код:

Под Тест () а = 10 б = 20 Ако је а <15 или б <15, тада МсгБок "Или а или б је мање од 15." 'Ово се извршава. У супротном МсгБок "Ни а ни б нису мањи од 15." 'Ово се не извршава. Енд Иф Енд Суб

Када извршимо горњи код, прва порука се приказује, а друга порука се прескаче. Зато што је а мање од 15, а б није. Потребан је само један услов да буде тачан са оператором ОР да би излаз био тачан.

Изјаву пишете као:

Ако је (а <15) + (б <15) Тада

П2: Шта ће бити резултат доле наведене изјаве? Обавестите ме у одељку за коментаре испод:

дебуг.принт а10 Или а = (б/2) или а<>

Када је вредност а 10 и б је 5. Запишите у доњи одељак коментара.

ВБА НОТ Оператор (Не): Оператор Нот се користи за обрнуту логичку вредност. Другим речима, израз са оператором Нот враћа Труе само ако је израз пре њега Фалсе. На пример, ако користите кључну реч Нот пре тачне изјаве, то ће резултирати лажном и обрнуто. У ВБА користимо Не кључна реч за проверу да ли нешто није тачно или нетачно (?).

Под тест () а = 10 б = 10 Ако није а = б Тада МсгБок "а и б нису једнаки." Иначе МсгБок "а и б су једнаки." 'Ово се извршава Енд Иф Енд Суб

У горњем коду, исказНије а = бвратиће се лажно. У почетку је а = б тачно, али како смо раније користили Не, резултат је обрнут и изјава се претвара у Нетачно. У горњем примеру смо користили једине изјаве пре њега. Можете да имате онолико изјава колико желите пре Нот оператор. Само их ставите у заграде.

П3: Шта ће бити резултат доле наведене изјаве? Обавестите ме у одељку за коментаре испод:

дебуг.принт а10 или не (а = (б/2) * а<>

Када је вредност а 10 и б је 5. Запишите у доњи одељак коментара.

5. Оператори повезивања (& или +)

Ови оператори се користе за спајање низова. Симбол & се користи за спајање текстова. Препоручује се оператер за спајање низова. Међутим, за повезивање можете користити и знак +.

Знак плус спаја само две променљиве када су обе низови. Ако било који низ није стринг, знак + ће радити као оператор сабирања.

Погледајте доњи код:

Под тест () а = "Екцелтип" б = "је број" ц = 1 д = 2 Отклањање грешака. Испиши а & б & ц 'ово ће одштампати "Екцелтип је број 1" Отклањање грешака испис а + б & ц & д' ово ће одштампати "Екцелтип је број 12 'Отклањање грешака. штампање а + б + ц' ово ће бити грешка. Енд Суб

У горњем коду, прве две линије ће радити савршено. Трећи ред ће наићи на грешку јер покушавамо да додамо текст бројевима. За спајање бројева увек користимо & (амп).

Мултифункционални оператери у ВБА

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

Знак + ради као оператор сабирања током рада са бројевима. Док радите са логичким вредностима, знак плус ради као Ор оператор у ВБА. Када се користи са стринг вредностима, оператор плус ради као оператор повезивања. Редови испод су валидни:

Дебуг.Принт 10 + 20 'штампа 30. + ради као оператор сабирања. Дебуг.Принт (1020) 'исписује Труе. + ради као оператер Ор. Дебуг.Принт "10" + "20" 'Штампа 1020. Знак + ради као оператор повезивања. 

Знак звездице (*) ради као оператор множења када су операнди нумерички. Када су операнди логички, звездица ради као и оператор.

Доње линије кода раде савршено у реду.

Дебуг.Принт 10 * 20 'исписује 200. * ради као оператор множења. Дебуг.Принт (1020) 'принтес Фалсе. Знак + ради као Анд оператор. 

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

Наредба Иф ЕлсеИф у ВБА | У наредби Иф ЕлсеИф, следећи услов се проверава само када претходни услов падне. Када се услов подудара, код у том блоку се извршава и контрола излази из блока Иф.

Екцел ВБА променљиви опсег | ВБА такође има спецификаторе опсега. Ови спецификатори опсега могу се користити за постављање видљивости/опсега променљиве у Екцел ВБА.

ВБА Изјава о случају | Изјаве о изабраним случајевима су корисне када имате превише услова за проверу. Они су одлична замена за више исказа Иф ЕлсеИф.

Коришћење петље у ВБА у Мицрософт Екцелу | Петље у ВБА омогућавају нам да радимо сличан задатак изнова и изнова без понављања кода. У Екцел ВБА постоје 3 врсте петљи.

Аргументи БиРеф и БиВал | Када се аргумент прослеђује као БиРеф аргумент на другу под -функцију или функцију, шаље се референца стварне променљиве. Све промене направљене у копији променљиве ће се одразити у оригиналном аргументу.

Прикажите поруку на статусној линији програма Екцел ВБА Статусна трака у Екцелу може се користити као монитор кода. Када је ваш ВБА код дугачак и обављате неколико задатака користећи ВБА, често онемогућујете ажурирање екрана тако да не видите да екран трепери

Искључите поруке упозорења помоћу ВБА у програму Мицрософт Екцел 2016 | Овај код не само да онемогућава ВБА упозорења, већ и повећава временску ефикасност кода. Да видимо како.

Популарни чланци:

50 Екцел пречица за повећање ваше продуктивности | Убрзајте свој задатак. Ових 50 пречица ће учинити да радите још брже на Екцелу.

Функција ВЛООКУП у Екцелу | Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.

ЦОУНТИФ у Екцелу 2016 | Бројте вредности са условима користећи ову невероватну функцију. Не морате да филтрирате податке да бисте рачунали одређену вредност. Цоунтиф функција је неопходна за припрему ваше контролне табле.

Како се користи функција СУМИФ у Екцелу | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.

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

wave wave wave wave wave