Страницы: 1
RSS
Исключить из цикла Листы не соответствующие определенным условиям
 
Здравствуйте! Подскажите, как подправить макрос, что бы он пробегал только по Листам 1-5, 6-10, 11-15, 16-20, .... и т. д. до 195-200, но при этом пропускал все другие Листы, например Поиск, Выбор, Отчет, Январь и т. д.?
Задача: при нажатии кнопки, что бы переходил на нужный Лист где есть этот номер из ячейки А2 на Листе "Поиск". Но что бы в этой "музыке" не участвовали листы без цифр, как я уже сказал 1-5, 6-10 и т. д.
 
Можно ли ВНЯТНО объяснить Вашу проблему?!  :D
Нужен Ваш Алгоритм, а не ссылки на проблемы Вашего макроса!
 
Вариант: в цикле перебора листов проверять наличие дефиса в имени листа.
 
Код
Sub Мяу()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name Like "*[a-zA-Zа-яА-ЯёЁ]*" Then
        Else
            Set cel = sh.Cells.Find(Sheets("Поиск").Range("A2").Value)
            If Not cel Is Nothing Then
                sh.Select
                cel.Select
                Exit Sub
            End If
        End If
    Next
End Sub
 
Цитата
Юрий М написал:
Вариант: в цикле перебора листов проверять наличие дефиса в имени листа.
А как это написать? If ... Then, а вот что между этими операторами?
 
Цитата
Мотя написал:
Можно ли ВНЯТНО объяснить Вашу проблему?!   Нужен Ваш Алгоритм, а не ссылки на проблемы Вашего макроса!
Помоему все предельно ВНЯТНО. Ничего из вашего вопроса я не понял.
 
В общем случае это может выглядеть так:
Код
Sub qqq()
Dim Sht As Worksheet
    For Each Sht In ThisWorkbook.Sheets
        If Sht.Name Like "*-*" Then
            'Здесь действия с листом
        End If
    Next
End Sub
 
RAN, спасибо, подходит.
 
Виталий Криворучко, ну не цитируйте то, что цитировать не нужно.
Страницы: 1
Наверх