Excel - как в VBA выбрать ВИДИМЫЕ листы

программирование excel VBA

Надо макросом:
1. скопировать формат с первого видимого листа
2. выбрать все видимые листы, кроме первой
3 применить скопированный формат первого листа ко всем выбранным листам

Сначала я попытался сделать это тупо в лоб вот так:

Sub Макрос1()
Cells.Select
Selection.Copy
Dim i As Long
For i = 1 To Sheets.Count
Sheets(i).Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next
End Sub

Но оно не заработало, ругается на "Sheets(i).Select"

К тому же тут обрабатываются ВСЕ листы, а мне нужны видимые кроме первого... Впрочем, это уже эстетство, наверно.

Заранее спасибо!

Примечание:
Вариант Sheets(i).Cells.PasteSpecial вроде сработал сначала, но после одного УСПЕШНОГО круга цикла выдал "PasteSpecial из класса Range завершен неверно". А где тут Range, я не понял...
Ладно, надо наверно еще маны покурить. Может, оно наткнулось на скрытый лист... или еще чего... За наводку спасибо.

Примечание:
Я таки победил ЭТО. Вот примерно так:
Sub Макрос4()

Range("a1:bb50").Copy

Dim i As Long
For i = 2 To Worksheets.Count
Sheets(i).Activate
Range("a1:bb50").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Next
End Sub

Спасибо за наводку!
Ответы:
Вместо:
Sheets(i).Select
      Cells.Select
      Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
          SkipBlanks:=False, Transpose:=False
Попробуйте:
Sheets(i).Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
          SkipBlanks:=False, Transpose:=False


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.