VBA оператори и вградени функции

Изјави на Excel VBA

Кога пишувате VBA код во Excel, на секој чекор се користи сет на вградени оператори. Овие оператори се поделени на математички, стринг, споредувачки и логички оператори. Следно, детално ќе ја разгледаме секоја група на оператори.

Математички оператори

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

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

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

(1 - највисоко; 5 - најниско)

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

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

Основниот оператор на стрингови во Excel VBA е операторот за конкатенација & (спој):

Операторакција
&оператор на конкатенација. На пример, изразот „А“ и „Б“ ќе го врати резултатот AB.

Споредба на операторите

Операторите за споредба се користат за споредување на два броја или низа и враќање на булова вредност од типот Булова (Точно или неточно). Главните оператори за споредба на Excel VBA се наведени во оваа табела:

Операторакција
=Подеднакво
<>Не е еднакво
<помалку
>Больше
<=Помалку или еднакво
>=Поголема или еднаква

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

Логичките оператори, како операторите за споредба, враќаат булова вредност на типот Булова (Точно или неточно). Главните логички оператори на Excel VBA се наведени во табелата подолу:

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

Табелата погоре не ги наведува сите логички оператори достапни во VBA. Комплетна листа на логички оператори може да се најде во Центарот за развивачи на Visual Basic.

Вградени функции

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

функцијаакција
AbsЈа враќа апсолутната вредност на дадениот број.

Пример:

  • Стомачни (-20) ја враќа вредноста 20;
  • Стомачни (20) ја враќа вредноста 20.
Г.Го враќа знакот ANSI што одговара на нумеричката вредност на параметарот.

Пример:

  • Chr(10) враќа прекин на линијата;
  • Chr(97) враќа лик a.
датумГо враќа тековниот датум на системот.
Датум ДодајДодава одреден временски интервал на дадениот датум. Синтакса на функции:

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

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

Аргумент интервал може да земе една од следниве вредности:

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

Пример:

  • 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Го враќа целобројниот дел од дадениот број.

Пример: Int(5.79) го враќа резултатот 5.

ИсдатСе враќа Точноако дадената вредност е датум, или Лажни – ако датумот не е.

Пример:

  • IsDate («01») Се враќа Точно;
  • IsDate (100) Се враќа Лажни.
IsErrorСе враќа Точноако дадената вредност е грешка, или Лажни – ако не е грешка.
Се водат за исчезнатиИмето на аргументот за изборна процедура се пренесува како аргумент на функцијата. Се водат за исчезнати Се враќа Точнодоколку не е донесена вредност за предметниот аргумент на процедурата.
Е НумеричкиСе враќа Точноако дадената вредност може да се третира како број, во спротивно се враќа Лажни.
левоГо враќа наведениот број на знаци од почетокот на дадената низа. Синтаксата на функциите е вака:

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

каде линија е оригиналната низа, и должина е бројот на знаци што треба да се вратат, броејќи од почетокот на низата.

Пример:

  • Лево („abvgdejziklmn“, 4) ја враќа низата „abcg“;
  • Лево („abvgdejziklmn“, 1) ја враќа низата „a“.
ЛенГо враќа бројот на знаци во низата.

Пример: Лен („абцдеј“) го враќа бројот 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Го враќа квадратниот корен на нумеричката вредност пренесена во аргументот.

Пример:

  • Sqr (4) ја враќа вредноста 2;
  • Sqr (16) ја враќа вредноста 4.
времеГо враќа тековното време на системот.
ПоврзанГо враќа натписот на наведената димензија на низата.

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

годинаВраќа цел број што одговара на годината на дадениот датум. Пример: Година („29“) ја враќа вредноста 2015.

Оваа листа вклучува само избор од најчесто користените вградени функции на Excel Visual Basic. Исцрпна листа на VBA функции достапни за употреба во макроата на Excel може да се најде во Центарот за развивачи на Visual Basic.

Оставете Одговор