VBA-тип Currency – это число с фиксированной точкой (fixed-point number), т. е. десятичная точка всегда находится в одном и том же месте – справа от десятичной точки всегда имеются четыре цифры. Тип Currency используется для хранения чисел, когда точность крайне важна, что бывает при «денежных» вычислениях.
Любые текстовые данные, сохраняемые в программе VBA, называются строками (strings). Строки в VBA сохраняются с использованием типа данных String. Строки получили такое название, потому что текстовые данные обычно рассматриваются как строки символов. Строка может содержать текстовые символы любых типов: буквы алфавита, цифры, знаки пунктуации или различные символы. Строки в коде VBA всегда заключаются в двойные кавычки ("").
Существуют две категории строк: строки переменной длины, размер которых растет или уменьшается, и строки фиксированной длины, размер которых всегда остается одним и тем же. Все строки в VBA являются строками переменной длины, если только в программе не задается фиксированная длина.
Типы String играют важную роль во многих программах VBA. Большинство данных ввода пользователей (в диалоговых окнах, ячейках рабочих листов) – это строковые данные. Кроме того, поскольку на экране можно отображать только текст, все другие типы данных должны быть преобразованы в строковые данные перед тем, как они будут выведены на экран. Многие встроенные процедуры VBA используют строковые данные во всех или в некоторых своих аргументах.
VBA использует тип Date для хранения даты и времени. VBA-тип Date является типом последовательных дат (serial Dates). (Последовательные даты сохраняют дату как число дней от заданной стартовой даты.) Базовой датой для VBA-типа Date является 30 декабря 1899. VBA использует отрицательные числа для представления дат ранее 12/30/1899 и положительные – для дат после 12/30/1899. Число 0 представляет саму дату 12/30/1899. По этой схеме 1 января 1900 записывается числом 2 (01/01/1990 – это 2 дня после 12/30/1899), однако число –2 является датой 12/28/1899 (два дня до 12/30/1899).
Даты можно вычитать одну из другой, добавлять к дате или вычитать числа для изменения ее значения. Например, если необходимо определить количество дней между двумя датами, просто необходимо вычесть более раннюю дату из более поздней даты. Поскольку это значения типа Date, VBA «знает», что целью вычисления является получение разности в днях между двумя этими датами. Аналогично, если необходимо определить дату через 60 дней после определенной даты, необходимо прибавить 60 к этой дате.