Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Методы Move и Select

Метод Move используется для перемещения листов.

Синтаксис expression.Move([Before] [,After])

  • expression – ссылка на объект, представляющий перемещаемый лист. Указание обязательно.

  • Необязательные параметры before и after (ссылки на лист, см. описание метода Add) определяют новое местоположение перемещаемого листа. Если не указан ни один из параметров, то лист перемещается во вновь создаваемую рабочую книгу.

Метод Select выделяет объект. При применении к одному листу методы Activate и Select активизируют указанный лист. Но метод Select используется для группировки листов, т.е. для расширения выделения.

Синтаксис expression.Select([Replace])

  • expression – ссылка на объект, представляющий выделяемый лист. Указание обязательно.

  • Replace – для расширения выделения аргумент устанавливается в False. Если аргумент не задан или принимает значение True, то вместо старой области выделения создается новая область выделения. Необязательный параметр.

Замечание

  • Для выделения листов с конкретными именами используйте функцию Array. Например, Sheets(Array("Лист8", "Лист12")).Select.

Пример

Процедура перемещает нечетные листы в конец рабочей книги. В цикле выделяются нечетные листы.

Public Sub move_sheets()

Dim n As Integer, I As Integer

n = ActiveWorkbook.Sheets.Count ‘количество листов в книге

For I = 1 To n Step 2

Sheets(I).Select (False) 'аргумент False метода Select означает группировку листов.

Next I

ActiveWindow.SelectedSheets.Move after:=Sheets(Sheets.Count) 'Свойство SelectedSheets

'объекта Window возвращает коллекцию Sheets, состоящую из выделенных листов

End Sub

Событийные процедуры

Чтобы вставить событийную процедуру для объекта WorkSheet

  • выделите объект WorkSheet (например, Лист1) в окне проекта;

  • перейдите на лист процедур этого объекта;

  • на процедурном листе в окне объектов (вверху слева) выберите объект WorkSheet;

  • в окне выбора событий (вверху справа) выберите событие.

  • запишите текст процедуры.

При выборе события автоматически вставляется процедура со стандартным именем, состоящим из названия листа и названия события, разделенных нижним подчеркиванием (_);

Пример

Private Sub Worksheet_Activate()

Range("a1").Value = ActiveSheet.Name

End Sub

При активизации листа Лист1 в ячейку A1 заноситcя название листа.

Объект Range

При работе в MS Excel чаще всего выполняются некоторые действия с группой ячеек рабочего листа. Объект Range – это отдельная ячейка, целиком строка или столбец рабочего листа, выделенный интервал ячеек, непрерывный интервал ячеек или интервал несмежных ячеек.

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

Свойства и методы, возвращающие объект Range

Свойства и методы

Применимы к объектам

Примеры и комментарии

Свойство ActiveCell

Application

Оператор ActiveCell.Value=10 устанавливает значение активной ячейки равным 10

Свойство Areas

Range

Оператор Range("A1, B5:B10, C12:C20").Areas(3).Value = 10 устанавливает значение 10 для третьей области объекта Rangeдля ячеек интервала C12:C20

Свойство Cells

Application, Range, Worksheet

Оператор Cells(7,3).Select активизирует ячейку C7 и равносилен оператору Range("C7").Select

Свойство Columns

Application, Range, Worksheet

Оператор Columns("A:D").Select выделяет первые четыре столбца

Свойство CurrentRegion

Range

Оператор ActiveCell.CurrentRegion.Count подсчитывает количество ячеек с данными в интервале, окружающем активную ячейку

Свойство Offset

Range

Операторы Range ("A2:B10").Select, Selection.Offset(2,2).Value=10 устанавливают значение 10 каждой ячейки интервала C4:D12.

Равносильно записи Range("C4:D12").Value=10

Свойство Range

Application, Range, Worksheet

Операторы p=Range("A:B").Count, p=Range("налог").Count, p=ActiveSheet.Range("A1:A10").Count, p=Range("1:3").Count, p=Range("A1:C2, B10:D24").Count присваивают переменной p количество ячеек в заданных интервалах

Свойство Rows

Application, Range, Worksheet

Оператор Rows("1:3").Select выделяет первые три строки

Свойство Selection

Application

Оператор Selection.Clear очищает выделенный интервал ячеек

Метод Union

Range

Union(Range("A1:C5"), Range("B10"D12") объединяет два несмежных интервала в один объект Range

Замечание

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

  • Ячейка остается активной до тех пор, пока методы Activate или Select не активизируют новую ячейку.