
- •Объектная модель
- •Полная и неявная ссылка на объект
- •Ссылка на активную рабочую книгу, лист, ячейку, диаграмму и принтер
- •Загрузка инсталлированной надстройки
- •Управление уровнем безопасности
- •Семейство встроенных диалоговых окон
- •Объект FileDialog
- •Методы объекта Application
- •Установка выполнения специфицированной процедуры при нажатии заданной комбинации клавиш
- •Переопределение горячих клавиш приложения
- •Проверка правописания отдельного слова
- •Симулирование ячеек рабочего листа
- •Электронные часы в ячейке рабочего листа
- •Получение данных из закрытой рабочей книги
- •События объекта Application
- •IgnoreReadOnlyRecommended — необязательный параметр, указывающий надо ли отображать предупреждение о том, что книга была сохранена в режиме "только для чтения";
- •Установка и снятие защиты книги
- •Методы объекта Worksheet
- •Объект Protection
- •События объекта Worksheet
- •Добавление к графическому объекту обработчика события Click
- •Примечание
- •Свойства объекта Range
- •Управление стилем границы диапазона и объекта Border
- •Функции rgb и qbColor
- •Доступ к отдельным ячейкам диапазона
- •Выбор элементов на рабочем листе или в книге
- •Объект Characters
- •Объект Comment
- •Определение текущего диапазона
- •Объект Font
- •Объект Interior
- •Установка числового формата
- •Переопределение размеров диапазона
- •Методы объекта Range
- •Табуляция функции
- •Заполнение диапазона по одному значению
- •Специальная вставка
- •Вставка диапазона с транспонированием
- •Бегущая картинка
- •Поиск значения в диапазоне
- •Повторный поиск и поиск всех значений
- •Поиск по формату
- •Замена значений
- •Ввод в диапазон неповторяющихся значений
- •Озвучивание текста
- •Построение графа
- •Пользовательские функции
- •Математические функции
- •Надстройки
- •Где хранятся макросы?
Установка числового формата
Свойство NumberFormat объекта Range устанавливает числовой формат. Например, следующие инструкции:
Range("A1").NumberFormat = "General"
Range("A2").NumberFormat = "0.000"
Range("A3").NumberFormat = "hh:mm:ss"
Range("A4").NumberFormat = "d mmm yyyy"
устанавливают:
в ячейке A1 — общий формат;
ячейке А2 — числовой формат, отображающий три знака после десятичной точки, например, 12.000;
в ячейке A3 — формат времени с двоеточием в качестве разделителя и по два знака, отведенных под часы, минуты и секунды, например, 02:12:55;
в ячейке А4 — формат даты, причем два знака отводятся под день, три буквы — под месяц и четыре цифры — под год, например, 01 июл 2002.
Нахождение диапазона, сдвинутого относительно
данного на указанное число строк и столбцов
Свойство Offset объекта Range возвращает объект Range, который сдвинут по отношению к данному на указанное число строк и столбцов.
Offset(RowOffset, ColumnOffset)
Здесь:
RowOffset t — необязательный параметр, указывающий сдвиг по строкам;
olumnOffset — необязательный параметр, указывающий сдвиг по столбцам.
В следующем коде в активную ячейку, например, А1, вводится значение 3, в ячейку, сдвинутую от нее на один столбец (в данном случае В1), вводится значение 4, а в ячейку, сдвинутую еще на один столбец (в данном случае С1), вводится формула, находящая сумму содержимого двух первых ячеек.
ActiveCell. Value = 3
ActiveCell.Offset(0, 1).Value = 4
ActiveCell.Offset(0, 2).FormulaRlCl = "=R[0]C[-2]+R[0]C[-1]"
Задание угла, под которым
выводится текст в диапазоне
Свойство Orientation объекта Range устанавливает угол, под которым выводится текст в диапазоне. Допустимыми значениями являются либо угол поворота текста в градусах от -90° до 90°, либо одна из следующих постоянных:
xlDownward — выравнивание по левому краю сверху вниз, соответствует углу -90°;
xlHorizontal — выравнивание по горизонтали, соответствует нулевому углу;
xlUpward — выравнивание по правому краю снизу вверх, соответствует углу 90°;
xlVertical — выравнивание по вертикали, нет соответствия в градусах.
Например, в следующем коде в ячейке А1 текст выводится под углом 45°, а в ячейке В1 — под углом —45°, а в ячейке С1 — вертикально (рис. 5.5).
Range("A1:C1").Font.Size = 16
Range("Al").Orientation = 45
Range("Al").Value = "Вверх"
Range("Bl").Orientation = -45
Range("Bl").Value = "Вниз"
Range("CI").Value = "Стоя"
Range("CI").Orientation = xlVertical
Рис. 5.5. Задание угла вывода текста
Переопределение размеров диапазона
Свойство Resize объекта Range возвращает диапазон с измененными размерами.
Resize(RowSize, ColumnSize)
Здесь:
RowSize — необязательный параметр, указывающий новое число строк;
Coiumnsize — необязательный параметр, указывающий новое число столбцов.
Предположим, что на рабочем листе имеется таблица с левым верхним углом, расположенным в ячейке А1, причем первая строка таблицы является заголовком. Тогда следующие инструкции создают красную заливку для заголовка таблицы и желтую — для ее тела.
Dim tbl As Range
Set tbl = Range("A1").CurrentRegion
Set tbl = tbl.Resize(1, tbl.Columns.Count)
tbl.Interior.Color = RGB(255, 0, 0)
Set tbl = Range("A1"),CurrentRegion
Set tbl = tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count)
tbl.Interior.Color = RGB(255, 255, 0)