Страница: 1 |
Страница: 1 |
Вопрос: выполнение макроса во всех листах
Добавлено: 10.08.07 12:19
Автор вопроса: bukmax
Подскажите, пожалуйста, у меня есть макрос, какую команду нужно написать, что он выполнялся сразу во всех листах? Спасибо.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
GenyaA
Вопросов: 0
Ответов: 185
Web-сайт:
Профиль | | #1
Добавлено: 10.08.07 13:08
For each ws in Worksheets
With ws
[код Вашего макроса, в котором ко всем объектам текущего листа добавлена точка, например вместо Range("A1" нужно проставить .Range("A1"]
End with ws
next ws
Если это не понятно, то можно так, но будет медленнее и "не красиво":
For each ws in Worksheets
ws.Activate
[код Вашего макроса]
next ws
Номер ответа: 2
Автор ответа:
bukmax
Вопросов: 9
Ответов: 15
Профиль | | #2
Добавлено: 10.08.07 13:26
Это то, что нужно. Спасибо. А чтобы ещё исключить неторые листы из этой процедуры - Лист13 и Лист24 что нужно добавить?
Номер ответа: 3
Автор ответа:
GenyaA
Вопросов: 0
Ответов: 185
Web-сайт:
Профиль | | #3
Добавлено: 10.08.07 14:47
If ws.Name <> "Лист13" And ws.Name <> "Лист14" Then
ws.Activate
{код тело Вашего макроса}
End If
Next ws
Номер ответа: 4
Автор ответа:
bukmax
Вопросов: 9
Ответов: 15
Профиль | | #4
Добавлено: 10.08.07 15:40
что-то в этом коде не то, работает также как выше приведенный. т.е. игнорирует условия и делает только на одном листе, на который открыт. Пытаюсь разобраться, но как-то не получается.
Номер ответа: 5
Автор ответа:
GenyaA
Вопросов: 0
Ответов: 185
Web-сайт:
Профиль | | #5
Добавлено: 10.08.07 16:05
Ой...
Вместо
Нужно это:
Номер ответа: 6
Автор ответа:
bukmax
Вопросов: 9
Ответов: 15
Профиль | | #6
Добавлено: 10.08.07 16:34
спасибо, всё работает.