Основы офисного программирования и язык VBA


Пример 1.4


Public Sub WorkWithSheets()

'Работа с коллекцией Sheets - листами рабочей книги

Dim N As Long, i As Byte

Dim X As Variant

'Активизация книги Book2

Workbooks("Book2").Activate

With ActiveWorkbook.Sheets

N = .Count

Debug.Print "Число листов при первоначальном открытии" _

& "книги = ", N

Debug.Print "Имена листов:"

For i = 1 To .Count

Debug.Print .Item(i).Name

Next

' Переименование листов

.Item(1).Name = "Two"

.Item(2).Name = "Four"

.Item(3).Name = "Six"

'Добавление листов One, Three, Five

.Add Before:=.Item("Two")

.Add After:=.Item("Two"), Type:=xlChart

.Add After:=.Item("Four"), Type:=xlExcel4MacroSheet

.Item(1).Name = "One"

.Item(3).Name = "Three"

.Item(5).Name = "Five"

N = .Count

Debug.Print "Число листов книги после вставки" _

& "3-х листов =", N

Debug.Print "Имена и типы листов после переименования:"

For i = 1 To .Count

Debug.Print .Item(i).Name, .Item(i).Type

Next

'Удаление 3-го и 5-го листов

.Item("Three").Delete

.Item("Five").Delete

'Работа с первым листом

.Item("One").Activate

'Запуск макроса Fibonachi, заполняющего область листа A1:A20

'последовательностью чисел Фибоначчи

Fibonachi

'Копирование первого листа на вновь создаваемый третий лист

.Item("One").Copy After:=.Item("Two")

'Переименование и перемещение листа

ActiveSheet.Name = "Seven"

.Item("Seven").Move After:=.Item("Six")

'Копирование области одного листа на последовательность листов

X = Array("One", "Four", "Six")

Sheets(X).FillAcrossSheets Range:=Worksheets("One").Range("A1:A20")

Debug.Print "Имена,типы листов и содержимое двадцатой ячейки:"

For i = 1 To .Count

Debug.Print .Item(i).Name, .Item(i).Type, _

.Item(i).Range("A20").Value

Next

End With

End Sub




Начало  Назад  Вперед



Книжный магазин