Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lection5.docx
Скачиваний:
15
Добавлен:
31.03.2015
Размер:
55.62 Кб
Скачать
    1. Методы объекта Range

Метод

Описание

Activate

Активация указанной ячейки

Clear

Очистка диапазона (и содержимое, и формат)

ClearContents

Очистка содержимого диапазона

ClearFormats

Очистка формата диапазона

Copy

Копирование диапазона в буфер обмена или другой диапазон

CreateNames

Создание имён для диапазона на основе текстовых данных

Cut

Вырезание диапазона (в буфер обмена) или вставка диапазона в другой

Merge

Объединение диапазона в одну ячейку

Select

Выделение диапазона

Sort

Сортировка ячеек диапазона

Speak

Озвучивание содержимого ячеек диапазона

UnMerge

Разделение объединённой ячейки

    1. Примеры работы с объектом Range

ActiveCell.RowHeight= 50'Изменяем высоту строки,

'в которой находится активная ячейка

IfRange("A1:A3").MergeCellsThen'Проверяем, что диапазон входит в объединённую ячейку

MsgBox "Merged"

Else

MsgBox "Not merged"

End If

Range("A6").Clear 'Очищаем ячейку A6

Range("C6").ClearContents 'Очищаем содержимое ячейки C6

Range("E6").ClearFormats 'Очищаем форматирование ячейки E6

Range("B2:D10").Cells(2, 3).Value = 66

ActiveCell.Offset(1, 0).FormulaLocal = ActiveCell.FormulaLocal

ActiveCell.Offset(1, 0).FormulaR1C1 = ActiveCell.FormulaR1C1

MsgBox Range("A1:D10").Count

MsgBox Range("A1:D10").Rows.Count

MsgBox Range("A1:D10").Columns.Count

    1. Параметры свойств и методов в языке vba

Многие свойства и методы имеют параметры, которые меняют значение, возвращаемое свойством, и управляют выполнением метода. Например, методы CopyиCutпозволяют указывать диапазон, в который надо скопировать текущий диапазон. МетодCreateNamesпозволяет указывать, откуда брать имена – из верхней или нижней строки диапазона, из левого или правого столбца диапазона. МетодSortимеет 15 параметров, которые позволяют задавать ключевые поля для сортировки, порядок сортировки, указывать необходимость различать строчные и прописные буквы.

Параметры свойств записываются после имени свойства в скобках и разделяются запятыми. Параметры методов записываются после имени метода через пробел и также разделяются запятыми.

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

  • по количеству;

  • по типу;

  • по порядку следования.

Однако в языке VBA в отличие от большинства других процедурных языков многие из параметров являются необязательными, т.е. их можно не указывать при обращении к свойству или вызове метода. В этом случае используются так называемые значения по умолчанию, которые подставляются в тот или иной параметр. Чтобы не передавать все параметры, для параметров, которые необходимо задать, указывают имя параметра и затем значение параметра после комбинации символов «двоеточие + равно». При этом параметры можно указывать в любом порядке.

Range("A1:D4").Copy Destination:=Range("E5:H9")

expression.CreateNames(Top, Left, Bottom, Right)

Range("A1:E4").CreateNames True, False, False, False

Range("A1:E4").CreateNames Left:=True

Range("A1:E4").CreateNames , True

Рассмотрим более подробно параметры свойства Address.

expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

Имя

Обязательный

Тип

Описание

RowAbsolute

нет

Variant

Если значение параметра равно True (по умолча­нию), возвращается абсолютная ссылка на строку.

ColumnAbsolute

нет

Variant

Если значение параметра равно True (по умолча­нию), возвращается абсолютная ссылка на столбец.

ReferenceStyle

нет

XlReferenceStyle

Формат ссылки – xlA1 (по умолчанию) для ссылок в формате А1, xlR1C1 – для ссылок в формате R1C1.

External

нет

Variant

Если значение параметра равно False (по умолча­нию), возвращается локальная ссылка. В противном случае возвращается внешняя ссылка, т.е. ссылка, содержащая имя файла и имя листа.

RelativeTo

нет

Variant

Параметр задаёт диапазон, относительно которого указывается ссылка. Имеет значение только для относительных ссылок в формате R1C1.

Set mc = Worksheets("Лист1").Cells(1, 1)

MsgBox mc.Address '$A$1

MsgBox mc.Address(RowAbsolute:=False) '$A1

MsgBox mc.Address(ReferenceStyle:=xlR1C1) 'R1C1

MsgBox mc.Address(RowAbsolute:=False, ColumnAbsolute:=False, ReferenceStyle:=xlR1C1, _

RelativeTo:=Worksheets("Лист1").Cells(3, 3)) 'R[-2]C[-2]

MsgBox mc.Address(RowAbsolute:=False, ColumnAbsolute:=False, External:=True) '[Книга1.xlsm]Лист1!A1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]