Страницы: 1
RSS
Макрос выделения листов
 
Добрый день. Мне в очередной раз нужна помощь знатоков  :)
Имеется файл в котором нужно назначить на кнопку макрос, который будет выделять видимые листы.
В книге имеются скрытые листы.
Имена листов будут постоянно изменяться.
Прошу помочь.
 
Что значит
Цитата
kargapolov написал: выделять видимые листы
Согласие есть продукт при полном непротивлении сторон
 
Sanja,  значит выделить несколько листов.
Если макрорекордером записывать то получается такой код:
Код
Sub Макрос3()
    Sheets(Array("Лист1", "Лист6", "Лист8", "Лист9", "Лист2")).Select
    Sheets("Лист1").Activate
End Sub

Но такой код не подходит, так как имена листов будут постоянно изменяться.
 
Код
Sub asd()
    ReDim arr(0)
    For Each st In Sheets
        If st.Visible = True Then
            arr(UBound(arr)) = st.Name
            ReDim Preserve arr(UBound(arr) + 1)
        End If
    Next
    ReDim Preserve arr(UBound(arr) - 1)
    Sheets(arr).Select
End Sub
 
Код
Sub Макрос1()
Dim ws As Worksheet, s As String
For Each ws In Worksheets
  If ws.Visible = -1 Then s = s & ws.Name & " "
Next
Worksheets(Split(Trim(s))).Select
End Sub
Упсс. В именах листов не должно быть пробелов, иначе кранты.
Код выше лучше!
Изменено: Апострофф - 30.03.2018 15:25:46
 
kavaka, спасибо. Работает.
Страницы: 1
Наверх