* Для хранения целых чисел (т.е. не имеющих дробной части) используйте переменные типов Boolean, Byte, Integer или Long.
* Используйте переменные типов Single или Double, чтобы хранить числа с плавающей запятой и показателем степени, имеющие до 15 значащих цифр. Хотя в этом случае диапазон допустимых значений просто огромен, не упускайте из виду возможность ошибок округления, когда выполняются операции со значениями, сильно отличающимися по порядку. Чтобы присвоить, например, значение 4,72X10-22 переменной типа Single или Double, используйте следующий формат (когда знак + или - после буквы Е пропущен, VBA считает показатель экспоненты положительным):
sngFloating = 4 . 7 2Е-2 2
Если требуется еще более высокая точность вычислений, тип данных Currency обеспечит 19 значащих цифр, а тип данных Decimal - все 29 (эти типы данных в своих представлениях чисел не используют экспоненты). Однако в настоящей версии VBA Decimal не является самостоятельным типом данных- это значит, что нельзя объявить переменную типа Decimal, а тип данных Decimal существует только как возможное значение для типа Variant. Чтобы поместить в переменную типа Variant числовое значение не как значение с плавающей запятой, а как значение типа Decimal, используйте в операторе присваивания функцию CDec.
Вот пример того, как это реализовать (обратите внимание, что для функции CDec значения с большим количеством значащих цифр придется представлять в виде строк):
Dim decvar Pi As Variant
decvar Pi = CDec("3.1415926535897932384626433833" )
Если в программе выполняются вычисления с использованием значений некоторых переменных, то тип данных этих переменных должен быть достаточно емким, чтобы хранить результат вычисления, даже если этим переменным сам результат и не присваивается. Для примера внимательно ознакомьтесь со следующим фрагментом программного кода:
Dim bytBytei As Byte
Dim bytByte2 As Byte
Dim intInteger As Integer
byuBytel = 255 ' максимальное значение для типа Byte
bytByte2 = 1
intInteger = bytBytei + bytByte2 ' ошибка!
Здесь, несмотря на то, что переменная intInteger вполне допускает хранение значения, соответствующего результату вычисления, в последней строке этого фрагмента программного кода VBA зафиксирует ошибку переполнения. Чтобы вычисления выполнялись, необходимо в данном случае хотя бы вместо одной из переменных типа Byte использовать переменную типа Integer.
Когда использовать логические переменные
Переменные типа Boolean могут хранить только два значения: True (в числовом представлении это 1) или False (0). Используйте переменные типа Boolean, когда нужно выяснить, какое из двух альтернативных условий имеет место в данный момент. Например, можно использовать переменную boolВключенс, которая должна принимать значение True (Истина), когда что бы то ни было, к чему переменная относится, включено, и значение False (Ложь), когда это нечто выключено.