Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA For Excel Часть 01.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.16 Mб
Скачать

2.4.5 Выражения Variant

Переменной Variant можно присваивать выражение любого типа, при этом переменная Variant меняет свой тип соответственно присвоенному выражению. В независимости от типа присвоенного переменой Variant данные в ней хранятся строковом формате, и если вы хотите экономить оперативную память целесообразно объявлять ячейки массива в котором хранятся числа, числовым типом, а не Variant, т.к. при использовании числового типа размер ячейки массива строго определен, и, в ряде случаев он более компактен, чем представление чисел в строковом формате. Нецелесообразно использование переменной Variant в некоторых циклах, т.к. компьютер значительно быстрее осуществляет сложение числового типа, чем переменной Variant. Переменная Variant наиболее удобна в качестве входного параметра подпрограммы.

В зависимости от присвоенной неименованной константы переменная Variant меняет соответственно тип, но, сделать переменную Variant типом Data можно только использовав формат Data, заключенный в символы # (или использовать функцию преобразования типов CDate), все данные в символах “ воспринимаются переменной Variant как строковые.

2.4.6 Смешанные выражения

Хотя интерпретатор VBA делает все возможное для того чтобы преобразовать типы переменных в смешанных выражениях, все же, при запуске программы, и при использовании различных типов в выражении, может возникнуть ошибка: “Несоответствие типа”. Для устранения такой ошибки существуют функции преобразования типов.

Функции преобразования типов

Имя Функции

Смысл функции

СSTR(Число)

Преобразует число в строку

STR(Число)

Преобразует число в строку. Строка значения данной функции в отличие от функции CSTR, начинается с символа пробел.

Val(Строка)

Преобразует строку в число, если в указанной строке нет символов цифр, данная функция выдает 0.

CHR(КодСимвола)

Преобразует код указанного символа в его строковое значение

ASC(Строка)

Выдает код первого символа в строке аргумента

Cint(ВещественноеЧисло)

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

CLng(ВещественноеЧисло)

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

CDate(СтроковоеВыражение)

Преобразует строковое выражение в формат Data

2.5 Функции определения типа переменной

Иногда бывает необходимо определить тип переменной, например, текущий тип переменной Variant. Существует функция, которая выдает имя типа указанной переменной в строковом формате:

TypeName(ИмяПеременной)

Для того, что бы определить является ли переменная массивом, используют функцию логического типа:

IsArray(ИмяПеременной)

Данная функция выдает значение True если переменная является массивом, и False – в противном случаи.

Функцией TypeName тоже можно определить является ли переменная массивом, используя дополнительную строковую функцию:

INSTR( TypeName(ИмяПеременной) , ”(” )

Выражение, записанное нами выше, будет не равно нулю только в том случаи, если переменная указанная в функции TypeName будет являться массивом. Т.к. в значении функции TypeName помимо имени типа будут содержаться символы скобок “( )”, указывающие на то, что переменная массив.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]