Тази статия ще демонстрира използването на функцията VarType във VBA.
VarType означава променлив тип. Можем да предоставим името на променливата на функцията VarType и тя ще върне цяло число, което изобразява типа данни, съхранявани в тази променлива, в съответствие със списък от VBA константи.
Използване на променлива Variant за намиране на VarType
Можем да декларираме променлива като променлива Variant. Това ще ни позволи да съхраняваме всякакъв вид разрешени данни в него. След това можем да попълним тази променлива и да използваме функцията VarType, за да видим какъв тип данни има в променливата.
Например:
12345 | Sub TestVarType ()Затъмнете MyVariable като вариантMyVariable = "Здравей свят"MsgBox "Типът на променливата е" & VarType (MyVariable)End Sub |
Това ще върне следното поле за съобщение:
Следователно стойността на 8 се връща. Това в Excel константа, която определя типа данни, които се съхраняват в променливата.
Тази постоянна стойност съответства на таблицата по -долу:
Постоянен | Стойност | Описание |
---|---|---|
vbEmpty | 0 | Празно (неинициализирано) |
vbNull | 1 | Нула (няма валидни данни) |
vbInteger | 2 | Цело число |
vbLong | 3 | Дълго цяло число |
vb Единично | 4 | Номер с плаваща запетая с една точност |
vbDouble | 5 | Номер с двойна прецизност с плаваща запетая |
vbCurrency | 6 | Валутна стойност |
vbDate | 7 | Стойност на датата |
vbString | 8 | Низ |
vbObject | 9 | Обект |
vbError | 10 | Стойност на грешката |
vbBoolean | 11 | Булева стойност |
vbVariant | 12 | Вариант (използва се само с масиви от варианти) |
vbDataObject | 13 | Обект за достъп до данни |
vbDecimal | 14 | Десетична стойност |
vbByte | 17 | Стойност на байта |
vbLongLong | 20 | LongLong цяло число (валидно само за 64-битови платформи) |
vbUserDefinedType | 36 | Варианти, които съдържат дефинирани от потребителя типове |
vbArray | 8192 | Масив (винаги се добавя към друга константа, когато се връща от тази функция) |
Можем да опитаме друг пример:
12345 | Sub TestVarType ()Затъмнете MyVariable като вариантMyVariable = 32760MsgBox "Типът на променливата е" & VarType (MyVariable)End Sub |
Този път полето за съобщение ще върне 2, тъй като типът данни, които се съхраняват в променливата, е Integer.
Ако обаче променим стойността на 32780, тогава връщането на стойността ще бъде 3 - Long Integer като целочисленият тип данни има максимална стойност 32767; след което е Дълго цяло число.
Ако трябва отново да променим кода:
12345 | Sub TestVarType ()Затъмнете MyVariable като вариантMyVariable = 32760,52MsgBox "Типът на променливата е" & VarType (MyVariable)End Sub |
Сега бихме получили стойност 5, която се връща - типът на данните е Double поради десетичните знаци.
Ако трябваше да поставим стойността в променливата в кавички, тогава отново ще се върне 8, тъй като всяка стойност, съдържаща се в кавичките, се съхранява като стойност на низ.
12345 | Sub TestVarType ()Затъмнете MyVariable като вариантMyVariable = "32760.52"MsgBox "Типът на променливата е" & VarType (MyVariable)End Sub |