Встроенные типы данных
Пример 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 Любой определенный объект Любой встроенный тип данных |