Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Excel_new.doc
Скачиваний:
97
Добавлен:
22.02.2015
Размер:
5.05 Mб
Скачать
    1. Основные методы

      1. МетодыRange, Cells, Offset

В макросах, процедурах или программных модулях отдельные ячейки или блоки ячеек таблиц могут быть доступны только как объекты Range. Три метода позволяют создавать объекты Range: Range, Cells и Offset. Эти методы отличаются только способом обозначения ячеек. Специфику методов можно понять из примеров объектов:

Range(“В2”) - ячейка В2 ;

Range(“В2:D12”) - блок ячеек В2:D12.

Часто используется краткая форма метода Range - квадратные скобки, например запись Worksheets("ТКЗ"). Range(“E7”) эквивалентна Worksheets ("ТКЗ"). [E7].

Метод Cells(2,3) возвращает ячейку на пересечении строки 2 и столбца 3 (эквивалентно Range(“С2”)). Данный метод более предпочтителен при использовании в циклах. Нумерация строк и столбцов ведется от верхнего левого угла объекта. Объектом может быть выделенный пользователем блок ячеек и идентификация ячеек в стиле «буква-цифра» затруднительна. Здесь лучше использовать метод Cells. Действительно, в цикле, как правило, необходимо менять индексацию. Вероятно, можно, но очень затруднительно менять буквы А, В, С,… .

Метод Offset работает аналогично Cells, с тем отличием, что возвращаемый объект всегда задается относительно верхнего левого угла текущего объекта. Числа здесь на 1 меньше, чем в методе Cells. Метод Offset чаще всего используется для создания объекта относительно текущей активной ячейки в рабочей таблице, например, два следующих оператора ссылаются на одну и ту же ячейку E3:

Worksheets("ТКЗ"). Range(“A1”). Cells(3,5) и Worksheets("ТКЗ"). Range(“A1”). Offset(2,4).

Данные примеры кроме иллюстрации специфики Cells и Offset показывают, что новый объект (ячейка Е3) может быть вне текущего объекта (ячейка А1). Текущий объект служит лишь как точка отсчета.

Самостоятельная работа

  • Используя свойство ActiveCel (активная клетка) и метод Cells(), составьте и апробируйте процедуру записи числа 1 справа, слева, сверху и снизу от активной клетки.

Методические указания.Выберите активную клетку. Окрасьте ее для лучшего обозначения места работы. Перейдите в среду Visual Basic (Alt+F11 или Сервис/Макрос/Редактор Visual Basic). Активизируйте один из модулей. Откройте меню - «вставка процедуры» и выберите объект – процедура (Procedure), рис. 4.1. Присвойте процедуре какое-либо имя, например test. Внутри тела процедуры запишите оператор, например ActiveCell.Cells(1, 2).Value = 1.

Рис. 4.71 Вставка

процедуры

При конструировании операторов старайтесь максимально использовать подсказки – перечни объектов, свойств и методов: нажмите кнопку обозревателя объектов (Oblect Broweser); выберите объект Application; найдите объект ActiveCell, скопируйте это ключевое слово в буфер и вставьте его в нужное место программного модуля.

Как только вы поставите точку, сразу появляется окно свойств и методов, где можно найти метод Cells. Двойной щелчок ЛК мыши сразу переносит это ключевое слово в нужное место оператора. Свойство Value можно также найти через кнопку (Oblect Broweser).

  • Запишите (можно через копирование) остальные три оператора. Выполните процедуру (кнопка ). Перейдите на исходный лист рабочей книги (или ярлык на панели задач, или кнопкаИМ) и убедитесь в правильности выполненных операций.

  • Составьте и апробируйте другую процедуру записи числа 1 по диагоналям от активной клетки.

  • Выполните предыдущие задания, используя метод Offset().

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