Главная страница
Навигация по странице:

  • C1:D5

  • A1:C5

  • Лекции VBA. Можно выделить следующие разновидности макросов


    Скачать 314.53 Kb.
    НазваниеМожно выделить следующие разновидности макросов
    Дата29.10.2022
    Размер314.53 Kb.
    Формат файлаdocx
    Имя файлаЛекции VBA.docx
    ТипПрограмма
    #760802
    страница2 из 22
    1   2   3   4   5   6   7   8   9   ...   22

    Второй способ


    Аргументы задают координаты интервала:

    • Cell1 - единственная ячейка (строка или столбец), задающая левый верхний угол интервала;

    • Cell2 - единственная ячейка (строка или столбец), задающая правый нижний угол интервала. Необязательный аргумент.

    Допустимо задание аргументов переменными, выражениями, свойствами или методами, представляющими объект Range - одну ячейку, одну строку или один столбец рабочего листа.

    Примеры записи оператора Range (2 способ)

    Запись

    Возвращаемый объект

    Range("A5","D18")

    интервал A5:D18

    Range(Columns(1), Columns(5))

    интервал, содержащий первые пять столбцов рабочего листа


    ЗАПОМНИТЕ

    • Если свойство Range применяется к объекту Range, то ссылка на интервал ячеек считается относительной и возвращается смещенный объект Range.

    Например, если выделен интервал C1:D5, то запись Selection.Range("B2") возвратит ячейку D2.

    Свойство Cells


    Свойство Cells возвращает единственную ячейку рабочего листа, которая находится на пересечении строки и столбца, задаваемых целыми числами.

    Синтаксис object.Cells (RowIndex,ColumnIndex)

    • object - ссылка на объект. Ссылка необязательна. По умолчанию используется активный лист;

    • RowIndex - индекс строки;

    • ColumnIndex - индекс столбца.

    ЗАМЕЧАНИЯ

    • В свойстве 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 представляет один элемент коллекции



    1   2   3   4   5   6   7   8   9   ...   22


    написать администратору сайта