Excel VBA VarType функция
VBA VARTYPE означава „Променлив тип“. Тази функция ни помага да идентифицираме типа данни, присвоен на конкретната променлива, или с проста дума можем да кажем, че намира какъв вид стойност се съхранява или присвоява на променливата.
Синтаксис

VarName: Просто трябва да предоставим името на променливата, за да намерим данните, съхранени в предоставеното име на променлива.
И така, той приема името на променливата като синтаксис или аргумент и в изхода връща типа на данните, присвоен на променливата, или вида на данните, съхранявани в променливата.
Така че, ако някога сте се чудили как да намерите типа данни на променливата или вида на данните, присвоени на променливата, тогава тук имаме VBA функция „VarType“.

Примери
Пример # 1
Във VBA, докато пишем кода, обикновено декларираме променливи и им присвояваме тип данни. Например погледнете кода по-долу VBA.
Код:
Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

В горния пример сме декларирали променливата като „String“ и за този низ сме присвоили стойността като „Hello“.
Това е ясен случай, но също така е възможно да декларираме променливите, без да им присвояваме променливите, така че в такива случаи функцията VarType ни помага.
Код:
Sub VarType_Example () Dim MyVar MyVar = "Hello" End Sub

В горния код не сме присвоили никакъв тип данни, но веднага сме присвоили стойността като „Здравейте“, така че с помощта на функцията VarType можем да намерим типа данни на променливата.
Отворете MSGBOX във VBA кодиране в горния код.

След това отворете функцията VarType.

Сега въведете името на променливата като аргумент на функцията VARTYPE.
Код:
Sub VarType_Example () Dim MyVar MyVar = "Hello" MsgBox VarType (MyVar) End Sub

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

Получихме резултата като 8, тъй като VBA има определени кодове за всеки вид променлив тип данни, така че по-долу е подробният списък за вас.
Стойност | Постоянно | Описание | ||
0 | vbEmpty | Променливата все още не е инициализирана | ||
1 | vbNull | Не са валидни данни | ||
2 | vbInteger | Стойността на променливата е тип данни „Integer“ | ||
3 | vbLong | Стойността на променливата е тип данни „Long“ | ||
4 | vbСингъл | Стойността на променливата е тип данни „Single“ | ||
5 | vbDouble | Стойността на променливата е тип данни „Double“ | ||
6 | vbCurrency | Стойността на променливата е тип данни „Валута“ | ||
7 | vbDate | Стойността на променливата е тип данни „Дата“ | ||
8 | vbString | Стойността на променливата е тип данни „String“ | ||
9 | vbObject | Стойността на променливата е тип данни „Обект“ | ||
10 | vbError | Стойността на променливата е Стойност на грешката | ||
11. | vbBoolean | Стойността на променливата е „булев“ тип данни | ||
12 | vbVariant | Стойността на променливата е тип данни „Вариант“ (използва се само с масиви от варианти) | ||
13 | vbDataObject | Стойността на променливата е обект за достъп до данни | ||
14. | vbDecimal | Стойността на променливата е тип данни „Decimal“ | ||
17 | vbByte | Стойността на променливата е тип данни „Byte“ | ||
20. | vbLongLong | Стойността на променливата е тип данни „LONG LONG“ (важи само за 64-битови платформи) | ||
36 | vbUserDefinedType | Стойността на променливата е тип „Потребителски дефиниран“ | ||
8192 | vbArray | Стойността на променливата е Array. |
Добре, сега нашият код е пренастроил типа данни на променливата като 8, т.е. името на променливата „MyVar“ съдържа типа данни „String“.
Пример # 2
Сега вижте кода по-долу.
Код:
Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Нека да стартираме този код и да видим какъв е резултатът.

Резултатът е 9, т.е. променливата съдържа типа данни „Обект“. Да, това е правилно, защото за променливата „MyVar“ сме задали справка за работната книга на „This Workbook“.
Пример # 3
Сега вижте кода по-долу.
Код:
Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Това ще върне резултата като 2.

Тъй като числото 32500, което е присвоено на променливата, е стойност „Цяло число“.
Сега ще променя стойността на 40000 и ще видя резултата.
Код:
Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Това ще даде резултата като 3.

Тъй като целочислената стойност завършва на 32767, така че всичко по-горе ще се третира като VBA LONG тип данни.
Сега ще приложа числото в двойни кавички.
Код:
Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Изпълнете кода и вижте резултата.

Получихме резултата като 8, т.е. тип данни String.
Това е така, защото всичко, предоставено в скобите, ще се третира като променлива String.
Неща за запомняне
- VARTYPE означава „Променлив тип“.
- Типът данни се представя с уникални числа, така че вижте таблицата, за да разберете кое число представлява кой тип променлива данни.