Видове макроси

Макросите са два вида: подпрограми и функции - VBA подпрограми и VBA функции.

Общ изглед на потребителската функция:

Функция function_name(списък с параметри)

Тялото на функцията се състои от описателна част на блок от изрази, които се изпълняват един след друг. Името на функция или променлива може да бъде всеки дефиниран от потребителя идентификатор. Идентификаторът е поредица от букви, цифри и долна черта, която започва с буква. Интервалите не са разрешени в идентификатора, така че те се заменят с долна черта.

Върнатият носител на потребителска функция е името на функцията. Следователно в тялото на потребителска функция, която оценява някаква стойност, трябва да има поне един оператор, който присвоява стойността на някакъв израз на името на функцията.

Подпрограмите имат стандартен дизайн и се поставят на модулния лист на същото място като потребителските функции.

Подподпрограма_име (параметър_списък)

Една подпрограма, подобно на функция, може да върне стойности, които са присвоени на параметри в рамките на подпрограмата. За разлика от функциите, подпрограмите не могат да бъдат извикани от клетки на работен лист.

инструкции за задание

Изявленията за присвояване присвояват израз на променлива или константа. Инструкциите за присвояване винаги включват знак за равенство (=).

Алгоритъмът на оператора е следният: първо се изчислява стойността на израза от дясната страна на знака за равенство и след това резултатът се присвоява на променливата от лявата страна на знака за равенство.

Браншова организация. оператор if. Тогава. Друго

оператор if. Тогава. Else изпълнява определени оператори или набори от оператори в зависимост от стойността на условието. Разрешени са множество вложени елементи.Ако изявления. Тогава. Друго с толкова нива на влагане, колкото е необходимо. Въпреки това, за да направите програмата по-лесна за четене, вместо множество вложени оператори If. Тогава. Else понякога е за предпочитане пред използването на оператора Select Case.

If условие Then [изявления] [Else statements_else]

Условието е израз от булев тип. Резултатът от оценката на условието винаги е от булев тип. Изразът може да бъде прост или сложен. При писане на условия могат да се използват всички възможни релационни операции.

Сложните условия се образуват от прости чрез прилагане на логически операции и скоби.

НЕ е логическо отрицание

И - логично И

ИЛИ - логическо ИЛИ

Можете също да използвате блоковата форма на синтаксиса:

Ако условие Тогава

Клонът Else не е задължителен.

Синтаксис на формата на вложен блок:

Ако условие_1 Тогава

ElseIf условие-2 Тогава

elseif условие_3 Тогава

Опростеният едноредов формуляр се препоръчва за кратки, лесни проверки. Блоковата форма обаче предоставя по-структуриран подход и повече гъвкавост от едноредовата. Блоковият формуляр обикновено е по-лесен за четене, обработка и отстраняване на грешки.

Изберете Изявление за случай

Изпълнява една от няколко групи оператори в зависимост от стойността на израза. Синтаксис:

изберете израз за регистър

Синтаксисът на командата Select Case съдържа следните елементи:

Задължително. Всеки числов израз или низов израз.

Задължително, ако има клауза Case. Разделен списък, състоящ се от една или повече от следните форми: израз, израз Към израз, Е операторСравнение израз. Ключовата дума To указва диапазон от стойности. ПриКогато използвате ключовата дума To, тя трябва да бъде предшествана от по-малка стойност. Ключовата дума Is с оператори за сравнение (с изключение на Is и Like) указва диапазон от стойности. Ако ключовата дума Is не е посочена, тя се вмъква по подразбиране.

Не е задължително. Един или повече оператори, които да бъдат изпълнени, ако изразът съвпада с някой член на Expression-list-n.

Не е задължително. Един или повече оператори, които трябва да бъдат изпълнени, ако изразът не съвпада, не съвпада с нито една от клаузите Case.

Всяка клауза Case позволява множество изрази или диапазони. Например, следният ред е валиден:

Случай 1 до 4, 7 до 9, 11, 13, е > MaxNumber

Също така е възможно да се зададат диапазони или множество изрази за низови стойности.

Операторът Select Case може да служи като алтернатива на оператора ElseIf в If. Тогава. В противен случай, когато оценявате един израз, който има множество възможни стойности.