VBA променливи типове - Как да дефинирам променлива и да присвоя тип данни?

Видове променливи на Excel VBA

VBA променливите са като адрес за съхранение на данни и данните могат да бъдат в много форми като числови или низ или символи и т.н. известни също като типове данни, които се използват за съхраняване на данните според типа, например тип променлива низ ще съхранява стойност на низа, докато целочисленият тип данни ще съхранява целочислена стойност и т.н.

За да се кодира ефективно, декларирането на променливи и присвояването на типове данни на тези декларирани променливи е от ключово значение за дълъг път в кодирането на VBA. В тази статия ще ви покажем какво представляват променливите, какъв тип данни е и как да присвоите тип данни на тези променливи.

Както самото име казва, променливата ще варира от време на време и ние съхраняваме някаква стойност в тези променливи. За да разберем това по-добре, нека си припомним нашите „математически“ класове, където приемаме променлива „x = нещо“, така че винаги, когато използваме променливата „x“, тя ще бъде равна на стойността, която сме задали.

Какво представлява типът данни?

Типът данни е ограничението, което поставяме на задържане на променливата. Например, за декларираната променлива можем да ограничим да съхраняваме само „Стойности на датата“, „Целочислени стойности“, „Дълги стойности“, „Стойност на низа“ и др …

Видовете данни, които дадена променлива може да съдържа, се наричат ​​„Тип данни“ в VBA.

Има много видове. При кодирането е важно да се разбере какво може да съдържа всеки тип данни. Можем да класифицираме типовете данни по два начина, т.е.

# 1 - Нецифрени типове данни

Тези типове данни могат да съдържат само нецифрени данни. Това са често срещани нечислови типове данни, т.е. String, Boolean, Variant, Object.

  • String: Това може да съдържа два вида низови стойности в него, т.е. String с фиксирана дължина и низ с променлива дължина.
  • Boolean: Booleans в VBA са логически стойности, т.е. TRUE или FALSE.
  • Вариант: Той може да съхранява както цифрови, така и нечислови данни.
  • Обект: Обектните променливи са продукти на Microsoft. Например в Excel обектите са „Работен лист, Работна книга, Обхват“. Обектите на Microsoft са „MS Word, MS PowerPoint и MS Outlook.“

# 2 - Числови типове данни

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

  • Байт: Това е променлива с малък капацитет, където декларираната променлива може да съдържа стойности от 0 до 255.
  • Цяло число: Това е подобрената версия на типа данни Byte. Това може да съдържа стойности от -32768 до 32768. Ако са зададени някакви десетични стойности, то ще се преобразува до най-близката целочислена стойност. Например 5.55 ще се преобразува в 6, а 5.49 ще се преобразува в 5.
  • Long: Когато Integer типовете данни ограничават стойността си на 32768 LONG, могат да съдържат много дълги числа от -2,147,483,648 до 2,147,483,648.
  • Единично: Единичният тип данни може да съдържа два знака след десетичната запетая -3.402823E + 38 до -1.401298E-45 за отрицателни стойности и 1.401298E-45 до 3.402823E + 38 за положителни стойности.
  • Double: Двойният тип данни може да съдържа повече от два знака след десетичната запетая, т.е. до 14 знака след десетичната запетая. -1.79769313486232e + 308 до -4.94065645841247E-324 за отрицателни стойности и 4.94065645841247E-324 до 1.79769313486232e + 308 за положителни стойности.
  • Дата: Този тип данни може да съдържа само DATE стойности.
  • Валута: Този тип данни може да съдържа стойности от -922,337,203,685,477.5808 до 922,337,203,685,477.5807.
  • Десетични: Десетичните типове данни могат да съдържат до 28 десетични знака. Той може да побере от +/- 79,228,162,514,264,337,593,543,950,335, ако не се използва десетичен знак +/- 7,9228162514264337593543950335.

Как да дефинирам променлива и да присвоя тип данни в VBA?

Най-важното нещо, което трябва да знаете, е да дефинирате променливата по време на кодирането. Можем да дефинираме типовете променливи по два различни начина, т.е. имплицитно и явно .

# 1 - Неявно

Можем да декларираме променливата VBA имплицитно, т.е. без да използваме думата „DIM“. Dim означава „Измерение“. Например погледнете изображението по-долу.

Код:

Sub Data_Type () k = 45 Край Sub

# 2 - Изрично

Това е подходящ начин за деклариране на променлива. Бих го нарекъл официален и професионален начин. За да декларираме променлива, трябва да използваме думата „DIM“ и да присвоим тип данни на променливата.

Код:

Sub Data_Type () Dim k As Integer k = 45 End Sub

Дефинирахме променливата „k“, както можете да видите на горното изображение, и присвоихме типа данни като „Integer“.

Правила за определяне на променлива

  • Променливата не може да съдържа интервал.
  • Променливата не трябва да съдържа никакви специални знаци с изключение на „подчертаване“ (_)
  • Променливата не трябва да започва с цифров символ.
  • Променливата не трябва директно да съдържа ключови думи VBA.

Примери

Пример # 1

За да дефинираме която и да е променлива, трябва първо да използваме думата „Dim“ и последвана от име на променлива

Код:

Sub Data_Type () Dim var Край Sub

След това, след като името на променливата е дадено, трябва да присвоим тип данни. Както обсъдихме по-горе, можем да присвоим всеки тип данни.

Код:

Sub Data_Type () Dim var As Integer End Sub

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

Код:

Sub Data_Type () Dim var As Integer var = 25000 End Sub

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

Код:

Sub Data_Type () Dim var As Integer var = 35000 Край Sub

Сега можете да стартирате този код с помощта на клавиш за бърз достъп F5 или ръчно, за да видите резултата.

Препълването не е нищо друго, но присвоената стойност на типа данни е повече от капацитета му.

Пример # 2

По същия начин не можем да присвояваме и различни стойности. Например не можем да присвоим стойността “String” на променливата от цял ​​тип данни. Ако бъде назначен, ще получим „Грешка при несъответствие на типа“.

Код:

Sub Data_Type1 () Dim var As Integer var = "Hii" End Sub

Сега стартирайте този код чрез клавиш за бърз достъп F5 или ръчно, за да видите резултата.

Неща за запомняне

  • Винаги използвайте DIM думата, за да дефинирате променливата.
  • Преди да присвоите тип данни, уверете се какъв вид данни ще съхранявате в него.
  • Присвояването на повече от стойността на капацитета на типа данни причинява грешка при препълване, а присвояването на различна стойност на типа данни причинява „Грешка при несъответствие на типа“.

Интересни статии...