Вопрос
Имею книгу.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 Сообщество Чайников
Контактная информация