Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2011, 15:55   #1
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию пропустить значение в цикле

привет всем))

подскажите плз, как исключить проверку значения в цикле
надо чтоб перескакивало определенное значение, т.е. ничего с ним не делало.
такой способ не прокатывает =ь

Код:
    For v = 1 to 1001
        'MsgBox v
        If v = 999 Then Next v   '  РУГАЕТСЯ
        i = i + 1 
        ThisWorkbook.Worksheets(ListName_).Cells(i, 3).Value = v
    Next v
если числа, можно просто написать v = v+1
НО если это массив, да еще не числовой???
Bape}l{ka вне форума Ответить с цитированием
Старый 18.07.2011, 15:59   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Код:
For v = 1 to 1001
    'MsgBox v
    If v <> 999 Then i = i + 1: ThisWorkbook.Worksheets(ListName_).Cells(i, 3).Value = v
Next v
или
Код:
For v = 1 to 1001
    'MsgBox v
    If v <> 999 Then
        i = i + 1
        ThisWorkbook.Worksheets(ListName_).Cells(i, 3).Value = v
    End If
Next v
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 18.07.2011 в 16:28.
Казанский вне форума Ответить с цитированием
Старый 18.07.2011, 16:07   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

читайте
Аналог continue в VBA

особенно пост #6

p.s. В вашем случае я бы изменил условие на обратное и не морочился:
Код:
  For v = 1 to 1001
        'MsgBox v
        If v <> 999 Then 
           i = i + 1 
          ThisWorkbook.Worksheets(ListName_).Cells(i, 3).Value = v
        End If
    Next v


ДОБАВЛЕНО

Казанский, когда я писал, Ваш код не видел...
Но обратите внимание, что в Вашем примере наращивание i = i + 1 выкинуто.
Это неравнозначная замена исходному коду получается!


ЕЩЁ ДОБАВЛЕНО
вижу, теперь исправлено, моё замечание (отмечено серым) потеряло актуальность..

Последний раз редактировалось Serge_Bliznykov; 18.07.2011 в 16:41.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.07.2011, 16:08   #4
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

точно, что-то не догадалась с этими массивами =ь
Bape}l{ka вне форума Ответить с цитированием
Старый 18.07.2011, 16:30   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию Serge_Bliznykov

Это неравнозначная замена исходному коду получается!

Исправил.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 18.07.2011, 17:34   #6
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

да-да, я поняла) мне идейно хватило, что мы просто обратное условие ставим) спасибо
Bape}l{ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если в автофильтре нет нужного значения, - пропустить и продолжить дальше Ogeris Microsoft Office Excel 7 15.07.2011 11:39
Как при неудчной загрузке файла, пропустить ошибку (HTTP/1.0 504 Gateway Time-out) и прочии Nockola Работа с сетью в Delphi 2 26.12.2010 19:12
Пропустить элемент массива в цикле foreach по условию. %$PROregRAMi$t% PHP 0 21.09.2010 06:53
базу аксесс пропустить через SQL Ane4ka Microsoft Office Access 5 27.05.2008 10:38