for ... next
Подскажите, пожалуйста, такую вещь (заранее извините, если вопрос банальный, но я что-то не могу найти ответа):
есть цикл for ... next, и насильно выйти из него можно командой exit. А как насильно перейти к началу цикла, т.е. где-то в середине цикла начать его заново, игнорируя оставшиеся команды?
Нет такой команды, обычно в коде используют If Then и этого вполне хватает, чтобы не выполнять ненужные действия... но если уже совсем не хочется менять структуру кода, то можно просто поставить в начале цикла свою метку и использовать команду - Goto ТвояМетка
For i = 1 To 10
If i = 5 Then i = 1
Next
Неужели Вы считаете, что автор вопроса оставит изначальное условие повторение цикла ...
И второе, Вы действительно считаете, что то символическое изменение моего кода способно остановить повторение цикла ...
Да, и второе, если условие сформулированно грамотно - то оно действительно остановит повторения. Причем предложенные мной изменения ВАШЕГО кода интуитивно гораздо понятнее.
Если судить о человеке, основываясь на том, что он задаёт вопрос на форуме, то здесь Вы с ним находитесь в равных условиях. (Но даже если и является, то в принципе это сути дела не меняет)
Второе, если уж разбирать по кирпичику, то Вы не давали ни другого варианта ответа, ни дополнения, ибо Ваш код является абсолютным клоном.
If i = 5 Then i = 1
что есть i = 5, как не <условие повторение цикла>, в таком случае исходный код выглядит как
If <Условие повторения цикла> Then i = 1
А теперь сравните два кода и найдите хотя бы одно отличие.
Третье, Вы мне напомнили одного человека, который совершенно серьёзно говорил, если всё делать правильно, то всё будет работать. В том то и дело, что если всё делать правильно, то и вопросы на форумах задавать будет некому.
Четвёртое, Я утверждаю, что остановить повторение цикла одним лишь условием не всегда возможно и готов подтвердить свои слова примером.
И наконец самое главное, не очень понятно, что именно даёт Вам основание сомневаться в умственных способностях автора вопроса … я например уверен, что он в состоянии понять, что i = 5, всего лишь пример …
А вообще, вместо того чтобы вести этот никому не нужный спор, лучше подскажите как в Outlooke получить адресс отправителя письма. именно адрес, а не имя отправителя. Т.е MailItem.SenderName в данном случае не применим.
Возврат в начало цикла отнюдь не есть предмет первой необходимости (и даже второй) А если заниматься VBA только для себя, то этот вопрос может всплыть ой как нескоро.
2) Что касается умственных способностях других людей, которые Вы постоянно ставите под сомнение, то цитаты из Ваших ответов будут более чем красноречивы :
По опыту репетиторства у студентов младших курсов и учащихся старших классов могу сказать, что с вероятностью близкой к еденице, автор использовал бы ваш код примерно так:
If <его условие> then
<ваш код>
Или что-то в этом роде. Получилась бы очень сложная конструкция
стоит учитывать тот факт, что данный топик будет читать не только автор. Наверняка найдется не один человек, которого интересует данный вопрос. И не всем все будет понятно.
Я опять повторюсь, но я не сомневаюсь, что и другие люди читающие этот топик смогут понять, что любой пример есть только пример … и важен только принцип.
P.S.
Принципиально неприемлю когда люди опубликовывают клоны уже имеющегося ответа и не важно по каким причинам они это делают.
Тем более это выглядит довольно странно, когда люди утверждают что первоначальный ответ не вполне корректный и опубликовывают его абсолютную копию, даже без изменений.
Слушай, если ты весь из себя такой вумный и жутко принципиальный, то помоги мне разобраться с адресом отправителя письма. А то, блин, фигней страдать может каждый и разводить пустое балабольство на никому не интересные темы. Если у тебя бальное самолюбие - то это к психиатру, а не сюда. Иди лечись в другом месте.
2) Что касается чистого флуда, то его разводили именно Вы, не давая прямых ответов и кодов, а ограничиваясь выражениями, типа, надо всё делать правильно и т.п. Я же со своей стороны предлагал перевести разговор в более материальную плоскость, а именно подкреплять свои слова кодами, но ...
3) Я думаю любому человеку, который прочитает Ваше последнее сообщение станет ясно, что нервишки пошаливают у Вас, так что с направлением к врачу Вы явно ошиблись адресатом.