Первый шаг на пути использования переменных заключается в изучении типов данных. Тип данных переменной показывает, данные какого типа позволяет сохранять переменная. В табл. 4.1 приведен список типов данных, поддерживаемых VBA. В этой таблице также содержится информация о размере данных, т.е. об объеме памяти, выделяемом для хранения данных определенного типа.
Тип данных
| Размер
| Диапазон значений
|
Byte (байт)
| 1 байт
| Целые числа от 0 до 255
|
Boolean (булевый, логический)
| 2 байта
| ИСТИНА (True) ИЛИ ЛОЖЬ (False)
|
Integer (целое)
| 2 байта
| Целые числа от -32768 до 32767
|
Long (длинное целое)
| 4 байта
| Целые числа от -2147483648 до 2147483647
|
Single (одинарной точности)
| 4 байта
| От -3,402823Е38 до -1,401298Е-45 для отрицательных чисел; от 1,401298Е-45 до 3,402823Е38 для положительных чисел
|
Double (двойной точности)
| 8 байт
| От -1,79769313486232Е308 до -4,94065645841247Е-324 для отрицательных чисел; от 4,94065645841247Е-324 до 1,79769313486232Е308 для положительных чисел
|
Currency (денежный)
| 8 байт
| От -922337203685477,5808 до 922337203685477,5807
|
Decimal (десятичный)
| 14 байт
| ±79228162514264337593543950335 без десятичных разрядов; +7,9228162514264337593543950335 с 28 десятичными разрядами
|
Date (дата)
| 8 байт
| От 1 января 100 года до 31 декабря 9999 года
|
Object (объект)
| 4 байта
| Ссылка на любой объект
|
String (строковый переменной длины)
| 10 байт + 1 байт на символ
| От 0 до приблизительно 2 млрд. символов
|
String (строковый фиксированной длины)
| Длина строки
| От 0 до приблизительно 65400 символов
|
Variant (универсальный числовой)
| 16 байт
| Любое числовое значение из диапазона типа Double
|
Variant (универсальный текстовый
| 22 байта + 1 байт на символ
| Тот же диапазон, что и для строкового типа с переменной длиной
|
Отметим, что хороший программист всегда выбирает тип данных по возможности наименьшего размера. Например, если надо сохранить небольшое целое число, такое как число студентов в академической группе, то рационально выбрать тип Byte. Интересно, почему в этой ситуации Excel по умолчанию использует расточительный тип Single?