Аператары VBA і ўбудаваныя функцыі

Аператары Excel VBA

Пры напісанні кода VBA ў Excel на кожным этапе выкарыстоўваецца набор убудаваных аператараў. Гэтыя аператары падзяляюцца на матэматычныя, радковыя, параўнання і лагічныя. Далей мы падрабязна разгледзім кожную групу аператараў.

Матэматычныя аператары

Асноўныя матэматычныя аператары VBA пералічаны ў табліцы ніжэй.

Правы слупок табліцы паказвае прыярытэт аператара па змаўчанні без круглых дужак. Дадаўшы дужкі да выразу, вы можаце змяніць парадак выканання аператараў VBA па сваім жаданні.

аператардзеяннепрыярытэт

(1 – самы высокі; 5 – самы нізкі)

^аператар узвядзення ў ступень1
*аператар множання2
/аператар дзялення2
Дзяленне без астатку – вяртае вынік дзялення двух лікаў без астатку. Напрыклад, 74 верне вынік 13
мужнасцьАператар Modulo (астатак) – вяртае рэшту пасля дзялення двух лікаў. Напрыклад, 8 супраць 3 верне вынік 2.4
+Аператар складання5
-аператар аднімання5

Аператары радкоў

Асноўны радковы аператар у Excel VBA - гэта аператар канкатэнацыі & (аб'яднаць):

аператардзеянне
&аператар канкатэнацыі. Напрыклад, выраз «А» і «Б» верне вынік AB.

аператары параўнання

Аператары параўнання выкарыстоўваюцца для параўнання двух лікаў або радкоў і вяртання лагічнага значэння тыпу Boolean (Праўда ці хлусня). Асноўныя аператары параўнання Excel VBA пералічаны ў гэтай табліцы:

аператардзеянне
=У роўнай ступені
<>Не роўна
<менш
>Больш
<=Менш або роўна
>=Больш або роўна

лагічныя аператары

Лагічныя аператары, як і аператары параўнання, вяртаюць лагічнае значэнне тыпу Boolean (Праўда ці хлусня). Асноўныя лагічныя аператары Excel VBA пералічаны ў табліцы ніжэй:

аператардзеянне
іаперацыя спалучэння, лагічны аператар И. Напрыклад, выраз А і Б вернецца праўда, Калі A и B абодва роўныя праўда, інакш вярнуць фальшывы.
OrАперацыя дыз'юнкцыі, лагічны аператар OR. Напрыклад, выраз А ці Б вернецца праўда, Калі A or B роўныя праўда, і вернецца фальшывы, Калі A и B абодва роўныя фальшывы.
Ці неАперацыя адмаўлення, лагічны аператар НЕ. Напрыклад, выраз Не А вернецца праўда, Калі A ў роўнай ступені фальшывы, або вярнуць фальшывы, Калі A ў роўнай ступені праўда.

У табліцы вышэй не пералічаны ўсе лагічныя аператары, даступныя ў VBA. Поўны спіс лагічных аператараў можна знайсці ў Visual Basic Developer Center.

Убудаваныя функцыі

У VBA ёсць шмат убудаваных функцый, якія можна выкарыстоўваць пры напісанні кода. Ніжэй пералічаны некаторыя з найбольш часта выкарыстоўваюцца:

функцыядзеянне
AbsВяртае абсалютнае значэнне дадзенага ліку.

прыклад:

  • Абс (-20) вяртае значэнне 20;
  • Прэс (20) вяртае значэнне 20.
ChrВяртае сімвал ANSI, які адпавядае лікаваму значэнню параметра.

прыклад:

  • Chr(10) вяртае разрыў радка;
  • Chr(97) вяртае сімвал a.
датаВяртае бягучую сістэмную дату.
DateAddДадае зададзены інтэрвал часу да дадзенай даты. Сінтаксіс функцыі:

DateAdd(интервал, число, дата)

Дзе аргумент інтэрвал вызначае тып часовага інтэрвалу, які дадаецца да зададзенага дата у памеры, указаным у аргумент нумар.

Аргумент інтэрвал можа прымаць адно з наступных значэнняў:

Інтэрвалзначэнне
гггггод
qquarter
mмесяц
yдзень года
dдзень
wдзень тыдня
wwтыдзень
hгадзіну
nхвілін
s2.

прыклад:

  • DateAdd(«d», 32, «01») дадае 32 дні да даты 01 і, такім чынам, вяртае дату 01.
  • DateAdd(«ww», 36, «01») дадае 36 тыдняў да даты 01 і вяртае дату 01.
DateDiffВылічвае колькасць зададзеных інтэрвалаў часу паміж двума зададзенымі датамі.

прыклад:

  • DateDiff(«d», «01/01/2015», «02/02/2015») вылічае колькасць дзён паміж 01 і 01, вяртае 2015.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») вылічае колькасць тыдняў паміж 01 і 01, вяртае 2015.
дзеньВяртае цэлы лік, які адпавядае дню месяца ў зададзенай даце.

прыклад: Дзень («29») вяртае лік 29.

гадзінуВяртае цэлы лік, які адпавядае колькасці гадзін у зададзены час.

прыклад: Гадзіна («22:45:00») вяртае лік 22.

InStrЁн прымае цэлы лік і два радкі ў якасці аргументаў. Вяртае пазіцыю ўваходжання другога радка ў першую, пачынаючы пошук з пазіцыі, зададзенай цэлым лікам.

прыклад:

  • InStr(1, “Вось слова для пошуку”, “слова”) вяртае лік 13.
  • InStr(14, “Вось слова для пошуку, а вось яшчэ адно слова для пошуку”, “слова”) вяртае лік 38.

нататка: Лікавы аргумент можа не быць указаны, у гэтым выпадку пошук пачынаецца з першага сімвала радка, указанага ў другім аргументе функцыі.

IntВяртае цэлую частку зададзенага ліку.

прыклад: Інт(5.79) вяртае вынік 5.

IsdateВяртае праўдакалі дадзенае значэнне з'яўляецца датай, або фальшывы – калі даты няма.

прыклад:

  • IsDate(«01») Вяртае праўда;
  • IsDate (100) Вяртае фальшывы.
ЁсцьПамылкаВяртае праўдакалі дадзенае значэнне з'яўляецца памылкай, або фальшывы – калі гэта не памылка.
АдсутнічаеІмя неабавязковага аргумента працэдуры перадаецца ў якасці аргумента функцыі. Адсутнічае Вяртае праўдакалі не было перададзена ніякага значэння для разгляданага аргумента працэдуры.
ЛікавыВяртае праўдакалі дадзенае значэнне можна разглядаць як лік, у адваротным выпадку вяртае фальшывы.
левыВяртае зададзеную колькасць сімвалаў ад пачатку дадзенага радка. Сінтаксіс функцыі такі:

Left(строка, длина)

дзе лінія з'яўляецца зыходным радком, і даўжыня гэта колькасць знакаў, якія трэба вярнуць, лічачы ад пачатку радка.

прыклад:

  • Злева (“abvgdejziklmn”, 4) вяртае радок “abcg”;
  • Злева (“abvgdejziklmn”, 1) вяртае радок "a".
LenВяртае колькасць сімвалаў у радку.

прыклад: Лён («abcdej») вяртае лік 7.

месяцВяртае цэлы лік, які адпавядае месяцу дадзенай даты.

прыклад: Месяц («29») вяртае значэнне 1.

У сярэдзінеВяртае зададзеную колькасць сімвалаў з сярэдзіны дадзенага радка. Сінтаксіс функцыі:

Сярэдні(лінія, Пачатак, даўжыня)

дзе лінія з'яўляецца зыходным радком Пачатак – пазіцыя пачатку радка, які трэба выняць, даўжыня гэта колькасць сімвалаў, якія трэба выняць.

прыклад:

  • Сярэдзіна ("abvgdejziklmn", 4, 5) вяртае радок «дзе»;
  • Сярэдзіна ("abvgdejziklmn", 10, 2) вяртае радок «cl».
ХвілінаВяртае цэлы лік, які адпавядае колькасці хвілін зададзены час. прыклад: Хвіліна («22:45:15») вяртае значэнне 45.
ЗаразВяртае бягучую сістэмную дату і час.
правыВяртае зададзеную колькасць сімвалаў з канца дадзенага радка. Сінтаксіс функцыі:

Правільна(лінія, даўжыня)

Дзе лінія з'яўляецца зыходным радком, і даўжыня - гэта колькасць знакаў, якія трэба атрымаць, лічачы ад канца дадзенага радка.

прыклад:

  • Справа(«abvgdezhziklmn», 4) вяртае радок “clmn”;
  • Справа(«abvgdezhziklmn», 1) вяртае радок «n».
ДругіВяртае цэлы лік, які адпавядае колькасці секунд у дадзеным часе.

прыклад: Другі («22:45:15») вяртае значэнне 15.

плВяртае квадратны корань з лікавага значэння, перададзенага ў аргумент.

прыклад:

  • Sqr (4) вяртае значэнне 2;
  • Sqr (16) вяртае значэнне 4.
часВяртае бягучы сістэмны час.
UboundВяртае верхні індэкс зададзенага памеру масіва.

нататка: Для шматмерных масіваў неабавязковым аргументам можа быць індэкс вымярэння, якое трэба вярнуць. Калі не пазначана, па змаўчанні 1.

годВяртае цэлы лік, які адпавядае году дадзенай даты. прыклад: Год («29») вяртае значэнне 2015.

Гэты спіс уключае толькі некаторыя найбольш часта выкарыстоўваюцца ўбудаваныя функцыі Excel Visual Basic. Вычарпальны спіс функцый VBA, даступных для выкарыстання ў макрасах Excel, можна знайсці ў Visual Basic Developer Center.

Пакінуць каментар