Встроенные типы данных

Пример 19.10.

Пример19.8.

Пример 19.7.

Пример 19.6.

Workbooks("Имя_книги").Worksheets("Имя-листа")

Наборы обладают следующими свойствами:

  • Count - определяет число компонентов в наборе;
  • Name - определяет имя компонента;
  • Parent - определяет имя объекта, включающего набор.

Для добавления и удаления компонентов набора используют методы Addи Delete.

Отдельные ячейки таблицы доступны через объект Range и следующие методы:

1.Cell - в качестве аргументов указываются два целых числа, определяющих место положение отдельной ячейки таблицы - Cell (число1; число2)

Cell(l;2).Value=5

Присваивает ячейке В2 текущего рабочего листа активной рабочей книги значение 5;

Cells(2,l).Formula="=SUM(Bl:B5)"

Записывает в ячейку А2 формулу суммирования значений в ячейках В1:В5.

2.Range - работа с прямоугольной областью ячеек, в качестве аргументов используется одна или две ссылки на ячейки таблицы в стиле А1:

Range("A2";"G10")

Range("f4")

либо на блок ячеек по их имени.

Worksheets("PRIMTR").Range("Al0";"F12").Value=10

Присвоение блоку ячеек постоянного значения 10.

Range("D15").Value = "Test"

Присвоение ячейке текущего рабочего листа активной рабочей книги значения "Test".

Range("Criteria").ClearContents

Очистка содержимого именованного блока ячеек текущего рабочего листа активной рабочей книги.

Примечание. Можно использовать форму записи Range(Cells(1;1); Cells(2;2)).

3.Offset - в качестве аргументов передаются два числа, указывающие местоположение ячейки относительно верхнего левого угла указанной области. При записи макросов с относительными ссылками макрорекордер использует данный метод для указания выбора.

Пример19.9.

Selection.Offset(2,5).Select

Относительно текущей ячейки, например, А1, происходит смещение в ячейку F3.

["Адрес_ячейки"] - краткая ссылка на ячейку по ее адресу.

4.Union - метод множественного выделения областей ячеек - Uniоп(область1; область2).

Каждую область формируют с помощью метода Range.

Union(Range(Cells(1;1); Cells(2;2)); Range(Cells(5;5); Cells(7;7)).Select

Выделяет области ячеек: А1:B2,E5:G7.

VBA использует 11 встроенных типов данных (табл.19.4).

  • Boolean использует 2 байта, или 16 бит, памяти для хранения логических данных; имеет два возможных значения: True и False.
  • Integer использует 2 байта памяти для хранения целых чисел, в том числе 1 бит для хранения знака числа, 15 бит - для числа.
  • Long использует 4 байта, или 32 бита, памяти для хранения целого числа двойной точности, в том числе 1 бит, для хранения знака числа, 31 бит -для числа.
  • Single использует 4 байта для раздельного хранения мантиссы (цифровая часть числа - максимум 7 знаков) и порядка (расположение десятичной точки).
  • Double использует байтов для раздельного хранения мантиссы (максимум 15 знаков) и порядка.
  • Currency использует байтов, десятичная точка всегда располагается между 4 и 5 цифрами справа, обеспечивает автоматическое округление результатов вычислений.
  • Date использует байтов и предназначен для хранения дат и времени. Даты записываются в виде целых чисел дней, а время - как дробная часть дня.
  • String использует 1 байт для хранения 1 символа плюс 1 байт для отметки конца строки. Символы хранятся в виде кодов ANSI.
  • Object использует 4 байта памяти для ссылки на любой объект Visual Basic.
  • Array определяет список данных любого типа и любой размерности.
  • Variant используется всегда, когда явно не указан какой-либо другой тип; может соответствовать любому другому разрешенному типу данных.

Таблица 19.4 Встроенные типы данных VBA

Тип данных Размер ( в байтах) Разряд-ность (цифр) Диапазон
Boolean Integer Long Single Double Currency Date String Object Array Variant 1+1 Зависит от числа элементов и их размера Зависит от самих данных True, False -32768; 32768 -2147483648; 2147483648 -3.402823E+38; 1.401298E-45 и 1.401298Е-45 ; 3.402823Е+38 -1.79769313486232Е+308; -4.94065645841247Е-324 и 4.94065645841247Е-324; 1.79769313486232Е+308 -922337203685477.5808; 922337203685477.5808 01.01.100; 31.12.9999 0; 65535 Любой определенный объект Любой встроенный тип данных