- •Cвойство Range
- •Первый способ
- •Второй способ
- •Запомните
- •Свойство Cells
- •Замечания
- •Свойство Offset
- •Метод Union и свойство Areas
- •Свойства Column и Row (r/o Integer)
- •Свойства Columns и Rows
- •Свойство CurrentRegion
- •Замечание
- •Свойство Address
- •Методы Методы Select и Activate
- •Метод Clear
- •Задание 1
- •Задание 2
- •Математические функции
- •Функции преобразования данных
- •Функции даты и времени
- •Строковые функции
- •Пользовательские функции
- •Задание
- •Ветвления
- •Ветвления. Сложные условия
- •Оператор выбора
- •Задание 1
- •Цикл со счетчиком
- •Выход из циклов и процедур
- •Вложенные циклы
- •Цикл For Each … Next
- •Одномерные массивы
- •Многомерные массивы
- •Статические и динамические массивы
- •Объявление массивов
- •Изменение размерности динамического массива
- •Использование свойств объектов
- •Использование методов объекта
- •Объектные переменные
- •Ссылка на объекты с помощью With...End With
- •Dim fName As String 'имя файла-копии
- •Работа с коллекциями объектов и контейнерами объектов
- •Задание 1
- •Задание 2
- •Обработчики событий
- •Задание 3
- •Задание 4
- •Задание 5
Замечания
В свойстве Cells индекс строки является первым аргументом, а индекс столбца - вторым аргументом, тогда как при задании адреса ячейки в стиле A1 сначала указывается столбец, а затем строка.
Понятие "индекс" ( Index, ColumnIndex, RowIndex ) всегда подразумевает целое число, целочисленную переменную или выражение, результат вычисления которого есть целое число или может быть преобразован в целое число.
Примеры записи свойства Cells |
||
Запись |
Комментарий |
Возвращаемый объект |
ActiveSheet.Cells |
Свойство Cells без аргументов |
все ячейки активного рабочего листа |
Range("C5:C10").Cells(1,1) |
Свойство Cells применяется к объекту Range (относительная ссылка) |
ячейка C5 |
Range(Cells(7,3),Cells(10,4)) |
Свойство Cells используется в качестве аргументов свойства Range |
интервал ячеек C7:D10 |
Свойство Offset
Свойство Offset позволяет задавать ячейки или интервалы при помощи числа строк и колонок, которые отделяют нужную ячейку от исходной ячейки, т.е. указывая смещение относительно выбранной ячейки. Например, Range("A5").Offset(-2,1) возвращает ячейку B3.
Синтаксис object.Offset([RowOffset][,ColumnOffset])
object - ссылка на объект Range. Ссылка обязательна и определяет объект, относительно которого задается смещение;
RowOffset - смещение строки искомой ячейки относительно исходной ячейки;
ColumnOffset - смещение столбца искомой ячейки относительно исходной ячейки.
Необязательные аргументы RowOffset и ColumnOffset - числовые выражения. Если какой-то аргумент не задан, то соответствующее смещение равно нулю.
Например, если выделен интервал C1:D5, то запись Selection.Offset(2,1).Select выделяет интервал D3:E7.
Метод Union и свойство Areas
Метод Union используется для объединения двух и более объектов Range, заданных ссылками на непересекающиеся интервалы, в один объект Range.
Синтаксис Object.Union (arg1,arg2,...)
object - всегда объект Application. Ссылка необязательна;
arg1,arg2 - интервалы ячеек. Количество аргументов произвольно. Обязательно наличие хотя бы двух аргументов.
Например, оператор Union(Range("A1:C5"),Range("B10:D12")).Select выделяет несмежные интервалы A1:C5 и B10:D12.
Свойство Areas выполняет обратное действие, разделяя объединенные интервалы на несколько объектов Range.
Синтаксис Object.Areas(index)
object - ссылка на объект Range, состоящий из нескольких интервалов;
index - номер интервала в объекте. Аргумент необязателен.
Примеры |
||
Оператор |
Комментарий |
Результат |
p=Union (Range("A1:C5"), Range("B10:D12")).Areas(2).Count |
Если аргумент задан, то свойство Areas возвращает интервал - объект Range, определенный индексом интервала |
равен девяти, так как во втором интервале ровно 9 ячеек |
p=Union(Range("A1:C5"), Range("B10:D12")).Areas.Count |
Cвойство Areas без аргументов рассматривает каждый из несмежных интервалов как элемент коллекции объектов Range |
равен двум, так как объект, определенный методом Union, состоит из двух областей - коллекции из двух элементов |
p=Range("B10:D12").Areas.Count |
равен единице, так как объект Range представляет один элемент коллекции |
|
