Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа_Прикладное программирование.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
141.31 Кб
Скачать

4.2. Объект Worksheet

Для добавления нового рабочего листа в книгу используется метод Add коллекции Worksheet: Worksheet.Add (Before, After, Count, Type). VBA присваивает новому рабочему листу очередной номер внутри рабочей книги. Все параметры являются необязательными. Если параметры Before и After опущены, то создается новый рабочий лист, который вставляется перед активным листом. Назначение параметров:

Before – задает лист, перед которым будет вставлен новый лист;

After – задает лист, после которого будет вставлен новый лист;

Count – задает количество новых листов, по умолчанию равен 1;

Type – задает тип создаваемого листа, по умолчанию xlWorksheet.

Пример 8. Добавление нового рабочего листа перед третьим листом в активной рабочей книге:

Sub Добавление_листа()

ActiveWorkbook.Worksheets.Add before:=Worksheets(3)

End Sub

Добавление нового рабочего листа после последнего листа в активной рабочей книге

Sub Добавление_листа()

ActiveWorkbook.Worksheets.Add

after:=Worksheets(Worksheets.Count)

End Sub

Добавление двух новых рабочих листов перед первым листом в активной рабочей книге:

Sub Добавление_листа()

ActiveWorkbook.Worksheets.Add count:=2

End Sub

Пример 9. Свойство Name объекта Worksheets позволяет программно изменять имя рабочего листа. Данный пример демонстрирует добавление нового листа в конец рабочей книги и его переименование:

Sub Добавление_листа()

Имя_последнего= Worksheets(Worksheets.Count).Name

Set Лист=Worksheets.Add(after:= Worksheets(Worksheets.Count))

Лист.Name= Имя_последнего & ”0”

MsgBox(“Был последний лист” & Имя_последнего & vbCr & “Стал лист” & Лист.Name)

End Sub

Задание 3.1.

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

Час= CSng(Hour(Time))

Мин= CSng(Minute(Time))

Сек= CSng(Second(Time))

Многократным запуском макроса убедитесь, что имена листов добавляются правильно.

Пример 10. Для удаления рабочего листа используется метод Delete объекта Worksheet. В данном примере производится удаление листа с именем «Лист 3». В ходе выполнения макроса у пользователя будет запрошено подтверждение на удаление листа.

Sub Удаление_листа()

ActiveWorkbook.Worksheets(“Лист 3”).Delete

End Sub

Пример 11. Для того, чтобы запрос не выводился, нужно пользоваться свойством DisplayAlerts:

Sub Макрос1()

Application.DisplayAlerts=False

ActiveWorkbook.Worksheets(“Лист54”).Delete

Application.DisplayAlerts=True

End Sub

Рабочие листы можно копировать и перемещать как в пределах одной рабочей книги, так и между ними. Метод Copy содержит два аргумента: Before и After, назначение которых такое же как и в методе Add. Если аргументы опущены рабочие листы копируются в новую книгу. Синтаксис метода Move не отличается от метода Copy.

Пример 12. Для копирования рабочего листа «Лист1» в позицию после листа «Лист3» метод Copy применяется следующим образом.

Sub Копирование_листа()

Worksheets(“Лист1”).Copy after:=Worksheets(“Лист3”)

End Sub

Пример 13. Перемещение Рабочего листа «Лист1» в новую рабочую книгу

Sub Перемещение_листа()

Worksheets(“Лист1”).Move

End Sub