ПредишенСледващото

За извършване на изчисления и друга манипулация в VBA използва изрази. Expression - е всяка комбинация от устройства или елементи от данни (цифри, константи, променливи, функции и други операнди) и признаци на операции.

Операнди (операнди) програмиране - са обекти, върху които да извършват определени действия (операции).

Признаци на операции - са символи, които се използват за свързване на операнди в израз.

Операциите с VBA - са действия, които се извършват на операнди. Признаци на операции в израз имат свои собствени приоритети.

Изразяване могат да се състоят от един операнд или могат да се състоят от комбинация от признаци на операндите и операции. Резултатът от оценката на израза е стойността, която трябва да се допуска в тип данни VBA.

Имайте предвид, че в един и същи израз не може да използва несъвместими типове данни.

Операциите, които се използват, за да напишете изрази в VBA, включват:

  • операции задачата;
  • математически операции;
  • логически операции;
  • операции сравнение (отношения);
  • операции за работа низ (низови операции).

операция присвояване

Синтаксисът на тази операция е, както следва:

  • VARIABLE_NAME - име на променлива (идентификатор);
  • В "=" - задача знак;
  • изразяване - стойност (брой), комбинация от променливи, константи, функции, операции, свързани с търговски марки.

задача оператор изисква за извършване на изразяване, посочена в дясната си страна, и да се определят в резултат на името на променливата, че име се появява в лявата част.

За да зададете променлива референтен обект се използва Set изявление. Като цяло, набор инструкции има следния синтаксис:

$ Set objectvar = [New] objectexpression [Нищо] $

Решете контрол по всички предмети. 10 години опит! Цена от 100 рубли. период от 1 ден!

Математически оператори - това е нищо повече от един водач, който използва математически операции.

Следните математически операции, използвани в VBA: добавяне (+), се изважда (-), се размножават (*), деление (/), разделяне без остатък (), останалата част от по модул (МО), степенуване (^).

В същото време, всяка операция има приоритет, или както я наричат ​​в ранг. Операции по ранг 1 ще имат най-висок приоритет и отчета за програма се изпълнява първата. Операции от същия ранг в изразите се извършват в съответствие с правилата на асоциативност (от ляво на дясно или обратно). Тъй като операцията ще бъде 1-ва степен израз в скоби () 2 има функция приоритет операция повикване, 3 - операция степенуване (т) и т.н., най-нисък приоритет 12 има работа Or.

Операторът на добавяне (+)

С помощта на оператора се прави просто допълнение. В този случай, както операнди - цифрово изражение или низ, които могат да бъдат преобразувани в редица. Операторът на допълнение се използва и при извършване на математически операции в деня на тип данни.

Типът на данни в резултат на експресията на допълнение обикновено е същата като най-точен вида на този израз. Но има и изключения:

  • чрез добавяне на видовете една дълга и резултатът ще бъде от типа Double;
  • Дата вид, когато се добавят с всякакъв друг вид данни резултатът винаги ще бъде от тип дата;
  • при надвишаване диапазон тип резултат цяло число, то се превръща в Лонг тип;
  • Long резултат в излишък тип, Single, Дата, тя се превръща в тип Double;
  • ако всеки операнд на прибавянето на експресията ще бъде от тип Null, след което в резултат на добавянето на експресия също ще бъде от тип Null.

Операторът на изваждане (-)

Това твърдение изпълнява две задачи:

  • използван при изваждане на един брой от друг;
  • Това означава минуса (знак минус е, че е изправен пред отрицателно число).

Сложете минуса знак преди променлива или израз е същият, както на броя, който се умножава по -1. И двете операнди в израз изваждане трябва да са числени променливи (израз) или низ изрази, които могат да бъдат превърнати в редица. Това твърдение може да се използва за работа с дати.

VBA използва едни и същи правила за определяне на типа на данните за резултатите от изваждане на израза, който за изразяване с помощта на оператора на допълнение. Но, има добавка: ако и двата операнда в израз са тип дата, тогава резултатът от израз ще бъде от тип Double.

Операторът на умножение (*)

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

VBA важат същите правила, за да се определи вида на данните в резултат на експресията на умножение и за изрази с помощта на оператора на допълнение. По отношение умножи всички променливи са Variant, които съдържат стойности от тип Date, превърнат в цифрови стойности.

Операторът на разделяне (/)

Операторът на разделение извършва с плаваща запетая нормален математически разделение на техните операнди. В изрази разделящи първия операнд се разделя на две и резултатът е коефициент на деление.

И двете операнди от гледна точка на разделение на плаваща запетая трябва да бъдат числови изрази или низове, които могат да бъдат превърнати в число. Ако поне един операнд в израз на разделение ще бъде от тип Null, в резултат на разделяне също ще има вид на Null.

данни с плаваща запетая дивизия тип операция е Двойникът, освен в случаите, когато:

  • разделяне на двете операнди от гледна точка има видове цяло число или Single - резултатът ще бъде вида Единична;
  • резултат от израз, не е залят от диапазона на стойностите за вида Single.

Целочислено деление ()

Цяло число разделение се различава от разделението на плаваща запетая, така че резултатите винаги са цели числа, не частица, числените изрази или низ, които могат да бъдат превърнати в число. Преди извършване на операция целочислено деление се закръглява към всеки операнд от тип Integer или Long. VBA хвърля (но не кръг!), Всяка фракционна остатък резултат число разделяне на експресията. Например, изразът 22 \ 5 и 24 \ 5 ще има същия резултат = 4. Ако поне един операнд в експресионен цяло число участък е Null тип, в резултат на разделянето ще има вид Null.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!