Съдържание
Изявления на Excel VBA
Когато пишете VBA код в Excel, на всяка стъпка се използва набор от вградени оператори. Тези оператори са разделени на математически, низови, сравнителни и логически оператори. След това ще разгледаме подробно всяка група оператори.
Математически оператори
Основните математически оператори на VBA са изброени в таблицата по-долу.
Дясната колона на таблицата показва приоритета на оператора по подразбиране при липса на скоби. Като добавите скоби към израз, можете да промените реда, в който се изпълняват операторите на VBA, както желаете.
Оператор | действие | приоритет (1 – най-висок; 5 – най-нисък) |
---|---|---|
^ | оператор за степенуване | 1 |
* | оператор за умножение | 2 |
/ | оператор на разделяне | 2 |
Деление без остатък – връща резултата от деление на две числа без остатък. Например, 74 ще върне резултата 1 | 3 | |
смелост | Оператор Modulo (остатък) – връща остатъка след деление на две числа. Например, 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 има много вградени функции, които могат да се използват при писане на код. По-долу са изброени някои от най-често използваните:
функция | действие | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Коремни мускули | Връща абсолютната стойност на даденото число. Пример:
| ||||||||||||||||||||||
Хр | Връща ANSI знака, съответстващ на числовата стойност на параметъра. Пример:
| ||||||||||||||||||||||
Дата | Връща текущата системна дата. | ||||||||||||||||||||||
Добавяне на дата | Добавя определен интервал от време към дадената дата. Синтаксис на функцията:
Къде е аргументът интервал определя вида на интервала от време, добавен към даденото дата в размера, посочен в аргумента брой. аргумент интервал може да приеме една от следните стойности:
Пример:
| ||||||||||||||||||||||
DateDiff | Изчислява броя на посочените интервали от време между две дадени дати. Пример:
| ||||||||||||||||||||||
ден | Връща цяло число, съответстващо на деня от месеца в дадената дата. Пример: Ден («29/01/2015») връща числото 29. | ||||||||||||||||||||||
час | Връща цяло число, съответстващо на броя часове в дадения момент. Пример: Час («22:45:00») връща числото 22. | ||||||||||||||||||||||
InStr | Приема цяло число и два низа като аргументи. Връща позицията на срещане на втория низ в първия, започвайки търсенето от позицията, зададена от цяло число. Пример:
Забележка: Аргументът номер може да не е посочен, в който случай търсенето започва от първия знак на низа, посочен във втория аргумент на функцията. | ||||||||||||||||||||||
Int | Връща цялата част от даденото число. Пример: Int (5.79) връща резултат 5. | ||||||||||||||||||||||
Isdate | Връщане Вярноако дадената стойност е дата, или Фалшив – ако датата не е. Пример:
| ||||||||||||||||||||||
IsError | Връщане Вярноако дадената стойност е грешка, или Фалшив – ако не е грешка. | ||||||||||||||||||||||
Липсва | Името на незадължителен аргумент на процедурата се предава като аргумент на функцията. Липсва Постъпления Вярноако не е предадена стойност за въпросния аргумент на процедурата. | ||||||||||||||||||||||
IsNumeric | Връщане Вярноако дадената стойност може да се третира като число, в противен случай връща Фалшив. | ||||||||||||||||||||||
Left | Връща зададения брой знаци от началото на дадения низ. Синтаксисът на функцията е следният:
където линия е оригиналният низ и Дължината е броят знаци за връщане, като се брои от началото на низа. Пример:
| ||||||||||||||||||||||
Len | Връща броя знаци в низ. Пример: Len („abcdej“) връща числото 7. | ||||||||||||||||||||||
месец | Връща цяло число, съответстващо на месеца на дадената дата. Пример: Месец («29/01/2015») връща стойността 1. | ||||||||||||||||||||||
Среден | Връща определения брой знаци от средата на дадения низ. Синтаксис на функцията: Средно(линия, Начало, Дължината) където линия е оригиналният низ Начало – позицията на началото на низа, който ще бъде извлечен, Дължината е броят знаци за извличане. Пример:
| ||||||||||||||||||||||
минута | Връща цяло число, съответстващо на броя минути в даденото време. Пример: Минута («22:45:15») връща стойността 45. | ||||||||||||||||||||||
Сега | Връща текущата системна дата и час. | ||||||||||||||||||||||
прав | Връща зададения брой знаци от края на дадения низ. Синтаксис на функцията: точно(линия, Дължината) Къде линия е оригиналният низ и Дължината е броят знаци за извличане, като се брои от края на дадения низ. Пример:
| ||||||||||||||||||||||
Второ | Връща цяло число, съответстващо на броя секунди в даденото време. Пример: Второ («22:45:15») връща стойността 15. | ||||||||||||||||||||||
пл | Връща корен квадратен от числовата стойност, предадена в аргумента. Пример:
| ||||||||||||||||||||||
Време | Връща текущото системно време. | ||||||||||||||||||||||
Ubound | Връща горния индекс на указаното измерение на масива. Забележка: За многомерни масиви незадължителен аргумент може да бъде индексът на това кое измерение да се върне. Ако не е посочено, по подразбиране е 1. | ||||||||||||||||||||||
година | Връща цяло число, съответстващо на годината на дадената дата. Пример: Година («29/01/2015») връща стойността 2015. |
Този списък включва само селекция от най-често използваните вградени функции на Excel Visual Basic. Изчерпателен списък с функции на VBA, налични за използване в макроси на Excel, може да бъде намерен в Центъра за разработчици на Visual Basic.