Страницы: 1
RSS
Цикл для всех листов книги
 
Здравствуйте, уважаемые форумчане! Есть макрос для одного листа Лист 1:
Код
Public Sub Auto_Open()
Application.ScreenUpdating = 0
Sheets("Лист 1").Activate
Range("A1").Activate
Application.ScreenUpdating = 1
End Sub

Подскажите, пожалуйста, как можно с помощью макроса цикла прописать процедуру
Sheets("Лист 1").Activate
Range("A1").Activate

для всех листов книги, чтобы не прописывать отдельно для каждого листа?

Заранее спасибо!
 
Какой смысл в активации ячейки?
Код
Dim shts As Worksheet
    For Each shts In ThisWorkbook.Worksheets
        With shts
            .Activate
            .Range("A1").Select
        End With
    Next shts
 
Может проще - в модуль той книги
Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
[a1].Select
End Sub

 
vikttur, мне нужно, чтобы книга открывалась на Листе 1, при этом все листы отображались "сначала", а не там, где проводились последние действия на листе (например, в конце листа)
 
В модуль книги (а не листа) -
Код
Private Sub Workbook_Open()
Sheets("Лист 1").Activate
Range("A1").Activate
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
[a1].Select
End Sub
 
Апострофф, вставила в модуль книги. Макросы не работают...
 
В модуль книги (ЭтаКнига или ThisWorkbook), а не Module1.
И "Лист1" (БЕЗ ПРОБЕЛА), а не "Лист 1".
 
Апострофф, пожалуй, при каждой активации листа это делать не стОит. При работе с книгой, переключаясь на другой лист, ожидаешь увидеть диапазон, с которым работал до того, а не А1.
 
Казанский, всем не угодишь ;)
Цитата
Tatirus написал:
при этом все листы отображались "сначала", а не там, где проводились последние действия на листе (например, в конце листа)
 
Апострофф, спасибо большое! Все получилось!
 
Может у меня в нике букв маловато?... :)
 
В модуль книги (ЭтаКнига или ThisWorkbook):
Код
Private Sub Workbook_Open()
Application.Run "nachalo"
End Sub
В обычный модуль (не книги и не листа) (Module1):
Код
Sub nachalo()
For Each s In ThisWorkbook.Worksheets
With s
.Activate
.Range("A1").Select
End With
Next
Worksheets("Лист 1").Activate
Range("A1").Select
End Sub

Лист, который должен стоять активным при открытии книги, должен называться "Лист 1"
 
Off
Hugo, главное - оказаться в нужное время в нужном месте ;)
Страницы: 1
Читают тему
Наверх