Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA (методичка).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.3 Mб
Скачать

События объекта

Событие

Описание

BeforeClose

При закрытии рабочей книги.

BeforePrint

Перед печатью рабочей книги.

BeforeSave

Перед сохранением рабочей книги.

Deactivate

Когда рабочая книга теряет фокус.

NewSheet

При добавлении нового листа.

Open

При открытии рабочей книги.

SheetActivate

При активизации любого рабочего листа.

SheetDeactivate

Когда рабочий лист теряет фокус.

13.4Объекты Range и Selection

В иерархии Excel объект Range (диапазон), один из ключевых объектов VBA, следует сразу после объекта Worksheet. Объект Selection возникает либо как результат метода Select, либо при вызове свойства Selection. При работе с объектом Selection используются свойства и методы объекта Range.

Адресация ячеек

Таблица 15. Абсолютная адресация

Формат

Описание

$A$1

Признаком абсолютной адресации является знак “$”, предшествующий имени строки или столбца.

R1C1

Адресация задается индексом строки и индексом столбца.

Таблица 16. Относительная адресация

Формат

Описание

A1

Имя ячейки состоит из буквы столбца и номера строки.

R[1]C[1]

Указывается смещение по отношению к активной ячейке. Смещение приводится в квадратных скобках, причем знак указывает на направление смещения. Например, если активной ячейкой является R2C3, то R[1]C[-1] дает ссылку на ячейку R3C2.

Задание групп строк и столбцов

Если в диапазоне указываются только имена столбцов или строк, то объект Range задает диапазон, состоящий из указанных столбцов или строк. Например, Range(“A:C”) задает диапазон, состоящий из столбцов A, B, C, а Range(“2:2”) – из второй строки. Другим способом работы со строками и столбцами являются свойства рабочего листа Rows и Columns, возвращающие семейства строк и столбцов. Например, столбцом A является Columns(1), а второй строкой Rows(2).

Связь объекта Range и свойства Cells объекта Worksheet

Ячейка – это частный случай диапазона, который состоит из единственной ячейки. Например, ячейку A2 можно описать как Range(“A2”) или Cells(2,1) – сначала указывается номер строки, затем номер столбца.

При помощи свойства Cells можно определять диапазоны, например:

Range(“A2:C3”)

Range(Cells(2,1), Cells(3,3))

Диапазон, как и рабочий лист, обладает свойством Cells, которое, если используется без параметров, возвращает множество всех ячеек, входящих в диапазон. Если же оно используется с параметром, то возвращает конкретную ячейку из диапазона. Например, в следующем примере значение 2 вводится в ячейку C3:

Range(“B2:D4”).Select

Selection.Cells(2,2).Value = 2

Свойства объекта Range

Свойство

Описание

Value

Возвращает или устанавливает значение в ячейках диапазона.

Например:

X = Range(“C1”).Value

Range(“A1:B2”).Value=1

Name

Возвращает или устанавливает имя диапазона. Вручную на рабочем листа имя диапазона присваивается выбором команды Вставка – Имя – Присвоить.

Например:

Range(“A2:B2”).Name = “Итоги”

WrapText

Логическое свойство, управляющее, разрешен ли перенос текста в диапазоне.

EntireColumn

EntireRow

Возвращает столбец или строку, соответственно.

Например:

ActiveCell.EntireRow.Clear (очищает содержимое строки, содержащей активную ячейку)

ActiveCell.EntireColumn.Select (выделяет столбец, содержащий активную ячейку)

Columns

Rows

Возвращает семейства столбцов и строк, из которых состоит диапазон.

ColumnWidth

RowHeight

Возвращает или устанавливает ширину столбцов и высоту строк в диапазоне.

Width

Height

Возвращает или устанавливает ширину и высоту диапазона.

Hidden

Логическое свойство, которое определяет, является ли диапазон спрятанным.

Comment

Возвращает объект Примечание (Comment), который при отображении на экран связан с левым верхним углом диапазона. Вручную на рабочем листе примечание добавляется к диапазону выбором команды Вставка, Примечание.

В коде примечание можно создать методjм AddComment диапазона.

AddComment(Text)

Text – текст, вводимый в примечание.

Для объекта Comment определено свойство parent, которое возвращает диапазон, для которого примечание было создано.

Для объекта Comment определен метод Delete, который удаляет объект, и метод Text, который задает текст, выводимый в примечании.

Text(Text, Start, Overwrite)

Text – необязательный. Текст, выводимый в качестве примечания.

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

Overwrite – параметр, принимающий логическое значение. Если он равен True, то вводимый текст записывается вместо уже существующего текста, а если false, то добавляется к уже существующему тексту.

Interior

Возвращает объект Фон ячейки (Interior).

Для этого объекта определены свойства Color и ColorIndex.

Font

Возвращает объект Шрифт (Font). Объект Font имеет следующие свойства:

    • Name – строка, указывающая имя шрифта, например, “Arial Cyr”.

    • Size – размер шрифта.

    • Color – устанавливает цвет шрифта.

    • Bold – логическое значение, определяющее полужирный текст.

    • Italic - логическое значение, определяющее курсивный текст.

Characters

Возвращает строку указанной длины от указанного символа. Используется, если форматируется не весь текст, а его часть.

Например:

With Range("A1")

.Value = "Пришло долгожданное лето!"

.Characters(8, 13).Font.Italic = True ‘Слово долгожданное выделяется курсивом

End With

Formula

Возвращает формулу в формате A1.

FormulaLocal

Возвращает формулу локальной версии в формате A1.

Например:

Range("F7").FormulaLocal = "=СРЗНАЧ(B7:E7)"

FormulaArray

Возвращает формулу диапазона в формате A1.

На рабочем листе формула диапазона вводится при нажатой комбинации клавиш <Ctrl>+<Shift>+<Enter>.

Например:

Range("B9:E9").FormulaArray = "=B7:E7*2"

FormulaR1C1

Возвращает формулу в формате R1C1.

Range("G7").FormulaR1C1 = "=R7C6*5"

FormulaR1C1Local

Возвращает формулу в локальной версии в формате R1C1.

Text

Возвращает содержание диапазона в текстовом формате.

HorizontalAlignment

Горизонтальное выравнивание. Допустимые значения:

    • xlGeneral – обычное выравнивание, зависящее от типа вводимых значений;

    • xlCenter – выравнивание по центру;

    • xlRight – выравнивание по правому краю;

    • xlLeft – выравнивание по левому краю;

    • xlJustify – выравнивание по ширине;

    • xlCenterAcrossSelection – выравнивание по центру в выделенном диапазоне;

    • xlFill – выравнивание по ширине.

VerticalAlignment

Вертикальное выравнивание. Допустимые значения:

    • xlBottom – выравнивание по нижнему краю,

    • xlCenter – выравнивание по центру,

    • xlJustify – выравнивание по высоте,

    • xlTop – выравнивание по верхнему краю.

Orientation

Ориентация. Допускается либо угол поворота текста в градусах от –90 до 90, либо одно из допустимых значений:

    • xlDownward – выравнивание по левому краю сверху вниз;

    • xlUpward – выравнивание по правому краю снизу вверх;

    • xlVertical – выравнивание по вертикали.

ShrinkToFit

Логическое свойство, которое устанавливает, надо ли автоматически изменять шрифт так, чтобы текст помещался в ячейку.

Top, Left

Возвращает координаты верхнего левого угла диапазона.

Areas

Возвращает семейство Areas, состоящее из всех связанных диапазонов, входящих в выбранное множество ячеек.

End

Возвращает крайнюю ячейку в диапазоне в указанном направлении, содержащем заданный диапазон.

End(Direction)

Параметр Direction может принимать следующие значения: xlToLeft, xlToRight, xlUp, xlDown.

Range("A1:B4").Value = "Тест"

Range("A1:B4").End(xlToRight).Value = "x" (в ячейку B1 будет введено x)

Address

Возвращает адрес ячейки.

Address(rowAbsolute, columnAbsolute, referenceStyle, external, relativeTo)

rowAbsolute – необязательный. Если имеет значение True или параметр опущен, то возвращается абсолютная ссылка на строку.

columnAbsolute - необязательный. Если имеет значение True или параметр опущен, то возвращается абсолютная ссылка на столбец.

referenceStyle – необязательный. Допустимы два значения xlA1 и xlR1C1. Если параметр опущен, то возвращается ссылка в формате A1.

external - необязательный. Логический параметр, задающий тип ссылки (False – только адрес ячейки, True – адрес, начиная с имени файла). По умолчанию равен - False.

relativeTo – необязательный. Если rowAbsolute и columnAbsolute равны False, а referenceStyle - xlR1C1, то данный аргумент определяет начальную ячейку диапазона, относительно которой производится адресация.

Например:

MsgBox (ActiveCell.Address)

MsgBox (ActiveCell.Address(External:=True))