ВБА оператори и уграђене функције

Екцел ВБА изјаве

Приликом писања ВБА кода у Екцел-у, на сваком кораку се користи скуп уграђених оператора. Ови оператори се деле на математичке, стрингове, упоредне и логичке операторе. Затим ћемо детаљно размотрити сваку групу оператора.

Матхематицал Операторс

Главни ВБА математички оператори су наведени у табели испод.

Десна колона табеле приказује подразумевани приоритет оператора у одсуству заграда. Додавањем заграда изразу, можете променити редослед у коме се ВБА наредбе извршавају како желите.

операторакцијаприоритет

(1 – највише; 5 – најниже)

^оператор експоненције1
*оператор множења2
/оператер поделе2
Дељење без остатка – враћа резултат дељења два броја без остатка. На пример, 74 вратиће резултат 13
ХрабростМодуло (остатак) оператор – враћа остатак након дељења два броја. На пример, 8 против 3 вратиће резултат 2.4
+Оператор сабирања5
-оператор одузимања5

Стринг оператори

Основни стринг оператор у Екцел ВБА је оператор конкатенације & (спајање):

операторакција
&оператор конкатенације. На пример, израз «А» и «Б» вратиће резултат AB.

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

Оператори поређења се користе за упоређивање два броја или низова и враћање логичке вредности типа Боолеан (Тачно или Нетачно). Главни оператори поређења Екцел ВБА су наведени у овој табели:

операторакција
=Једнако тако
<>Није једнако
<Мање
>Више
<=Мање или једнако
>=Веће или једнако

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

Логички оператори, попут оператора поређења, враћају логичку вредност типа Боолеан (Тачно или Нетачно). Главни логички оператори Екцел ВБА су наведени у табели испод:

операторакција
Иоперација везника, логички оператор И. На пример, израз А и Б ће се вратити Прави, Ако A и B оба су једнака Прави, иначе врати Лажан.
OrОперација дисјункције, логички оператор OR. На пример, израз А Или Б ће се вратити Прави, Ако A or B једнаки Прави, и вратиће се Лажан, Ако A и B оба су једнака Лажан.
НеОперација негације, логички оператор НЕ. На пример, израз Не А ће се вратити Прави, Ако A Једнако Лажан, или повратак Лажан, Ако A Једнако Прави.

Горња табела не наводи све логичке операторе доступне у ВБА. Комплетна листа логичких оператора може се наћи у Висуал Басиц Девелопер Центер-у.

Уграђене функције

Постоји много уграђених функција доступних у ВБА које се могу користити приликом писања кода. У наставку су наведени неки од најчешће коришћених:

функцијаакција
АбсВраћа апсолутну вредност датог броја.

primer:

  • Абс(-20) враћа вредност 20;
  • Трбушњаци (20) враћа вредност 20.
ЦхрВраћа АНСИ знак који одговара нумеричкој вредности параметра.

primer:

  • Цхр(10) враћа прелом реда;
  • Цхр(97) враћа карактер a.
датумВраћа тренутни системски датум.
ДатеАддДодаје одређени временски интервал датом датуму. Синтакса функције:

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

Где је аргумент интервал одређује врсту временског интервала који се додаје датом датум у износу наведеном у аргументу број.

Расправа интервал може узети једну од следећих вредности:

Интервалвредност
иииигодина
qчетврт
mмесец
yдан у години
dдан
wдан у недељи
wwнедеља
hсат
nминут
sдруги

primer:

  • ДатеАдд(«д», 32, «01/01/2015») додаје 32 дана на датум 01 и тиме враћа датум 01.
  • ДатеАдд(«вв», 36, «01/01/2015») додаје 36 недеља датуму 01/01/2015 и враћа датум 09/09/2015.
ДатеДиффИзрачунава број одређених временских интервала између два дата датума.

primer:

  • DateDiff(«d», «01/01/2015», «02/02/2015») израчунава број дана између 01 и 01, враћа 2015.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») израчунава број недеља између 01 и 01, враћа 2015.
данВраћа цео број који одговара дану у месецу у датом датуму.

primer: Дан(«29/01/2015») враћа број 29.

сатВраћа цео број који одговара броју сати у датом тренутку.

primer: Сат(«22:45:00») враћа број 22.

ИнСтрУзима цео број и два низа као аргументе. Враћа позицију појављивања другог низа унутар првог, почевши претрагу на позицији датој целим бројем.

primer:

  • ИнСтр(1, „Ево речи за претрагу“, „реч“) враћа број 13.
  • ИнСтр(14, „Ово је реч за претрагу, а ево још једна реч за претрагу“, „реч“) враћа број 38.

Белешка: Аргумент броја можда није наведен, у ком случају претрага почиње од првог карактера стринга наведеног у другом аргументу функције.

ИнтВраћа цео број датог броја.

primer: Инт(5.79) враћа резултат 5.

ИсдатеПовратак Правиако је дата вредност датум, или Лажан – ако датум није.

primer:

  • ИсДате(«01/01/2015») повраћај Прави;
  • ИсДате(100) повраћај Лажан.
ИсЕррорПовратак Правиако је дата вредност грешка, или Лажан – ако није грешка.
Је нестаоИме опционог аргумента процедуре се прослеђује као аргумент функцији. Је нестао повраћај Правиако за дотични аргумент процедуре није прослеђена вредност.
ИсНумерицПовратак Правиако се дата вредност може третирати као број, иначе враћа Лажан.
левоВраћа наведени број знакова са почетка датог низа. Синтакса функције је оваква:

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

где линија је оригинални стринг, и дужина је број знакова за враћање, рачунајући од почетка стринга.

primer:

  • Лево(“абвгдејзиклмн”, 4) враћа стринг “абцг”;
  • Лево(“абвгдејзиклмн”, 1) враћа стринг „а“.
ЛенВраћа број знакова у низу.

primer: Лен(„абцдеј“) враћа број 7.

месецВраћа цео број који одговара месецу датог датума.

primer: Месец(«29/01/2015») враћа вредност 1.

СредњиВраћа наведени број знакова из средине датог низа. Синтакса функције:

средина(линија, Почетак, дужина)

где линија је оригинални низ Почетак – положај почетка низа који се издваја, дужина је број знакова које треба издвојити.

primer:

  • Средина(“абвгдејзиклмн”, 4, 5) враћа стринг „где“;
  • Средина(“абвгдејзиклмн”, 10, 2) враћа стринг „цл“.
МинутВраћа цео број који одговара броју минута у датом времену. Пример: Минута(«22:45:15») враћа вредност 45.
СадаВраћа тренутни системски датум и време.
У правуВраћа наведени број знакова са краја датог низа. Синтакса функције:

Јел тако(линија, дужина)

Где линија је оригинални стринг, и дужина је број знакова за издвајање, рачунајући од краја датог низа.

primer:

  • Десно(«абвгдезхзиклмн», 4) враћа стринг “цлмн”;
  • Десно(«абвгдезхзиклмн», 1) враћа стринг „н“.
ДругиВраћа цео број који одговара броју секунди у датом времену.

primer: Други(«22:45:15») враћа вредност 15.

СкрВраћа квадратни корен нумеричке вредности пренете у аргумент.

primer:

  • Скр(4) враћа вредност 2;
  • Скр(16) враћа вредност 4.
ВремеВраћа тренутно системско време.
УбоундВраћа горњи индекс наведене димензије низа.

Белешка: За вишедимензионалне низове, опциони аргумент може бити индекс чије димензије треба вратити. Ако није наведено, подразумевано је 1.

годинаВраћа цео број који одговара години датог датума. Пример: Година(«29/01/2015») враћа вредност 2015.

Ова листа укључује само избор најчешће коришћених уграђених функција програма Екцел Висуал Басиц. Исцрпна листа ВБА функција доступних за коришћење у Екцел макроима може се наћи у Висуал Басиц Девелопер Центер-у.

Ostavite komentar