ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.03.2025
Просмотров: 175
Скачиваний: 1
Методы объекта Range
|
Метод |
Описание |
|
Activate |
Активация указанной ячейки |
|
Clear |
Очистка диапазона (и содержимое, и формат) |
|
ClearContents |
Очистка содержимого диапазона |
|
ClearFormats |
Очистка формата диапазона |
|
Copy |
Копирование диапазона в буфер обмена или другой диапазон |
|
CreateNames |
Создание имён для диапазона на основе текстовых данных |
|
Cut |
Вырезание диапазона (в буфер обмена) или вставка диапазона в другой |
|
Merge |
Объединение диапазона в одну ячейку |
|
Select |
Выделение диапазона |
|
Sort |
Сортировка ячеек диапазона |
|
Speak |
Озвучивание содержимого ячеек диапазона |
|
UnMerge |
Разделение объединённой ячейки |
Примеры работы с объектом 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
Параметры свойств и методов в языке 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