СообЧа > База Знаний > Программы > MS Excel

Вопрос

Имею книгу.xls с более чем сотней листов. И еще имею макрос, который нужно применить к каждому листу. Щелкать по каждой странице и нажимать Alt+F8 не очень хочется. Как исхитриться и написать макрос, который перебрал бы все листы и выполнил другой макрос на каждом листе?

Ответ

Делается это все довольно просто, как видно из следующего фрагмента кода:

Sub Macro1()
' это макрос, который необходимо вызвать для каждого листа в рабочей книге
End Sub
Sub MacroCaller()
' следующий цикл выполнится для всех листов в рабочей книге
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Activate ' активировать лист
Macro1 ' вызвать макрос, работающий с активным листом
Next Sheet
End Sub


Таким образом, независимо от того, сколько листов находится в рабочей книге, макрос Macro1 будет запущен для каждого листа.

Алексей.



Copyright © 2000-2004 Сообщество Чайников
Контактная информация