Страницы: 1
RSS
Пропустить элемент в Each-Next
 
Добрый день!
Периодически сталкиваюсь с тем, что при переборе данных циклом Each-Next , нужно проверить, соответствует ли каждый элемент определенному условию, прежде чем его обрабатывать дальше. Если не соответствует, необходимо перейти к следующему элементу, не обрабатывая этот (и не прекращая цикл). Все время это делаю посредством GoTo, но есть смутные догадки, что можно сделать как-то проще. А можно ли?
Пример:
Код
    For Each itm In ws.Range("Суммы")
        If itm = "" Then GoTo ToNext
        ...
        ...
ToNext:
    Next itm
Изменено: Ungrateful - 28.12.2015 16:28:40
 
Будьте проще:
Код
For Each itm In ws.Range("Суммы")
        If itm <> "" Then
        ...
        ...
end if
    Next itm
Изменено: Hugo - 28.12.2015 16:27:39
 
Можно.
Достаточно убрать GoTo ToNext, как совершенно лишнее, и заменить "=" на "<>".
 
Код
For Each itm In ws.Range("Суммы")
        If itm <> "" Then 
           ...
           ...
        End If
    Next itm
 
Всем спасибо, вижу, что затупил )
 
Для разнообразия  :D
Код
For Each itm In ws.Range("Суммы")
        If itm= "" Then
Else
           ...
           ...
        End If
    Next itm
 
RAN, примерно также и получилось, + еще условия перед Else, спасибо )
Мне от чего-то все время хотелось добавить условие типа Exit For. Если условие не выполняется, то Next itm.
Изменено: Ungrateful - 28.12.2015 16:45:06
Страницы: 1
Читают тему
Наверх