2016-06-05 2 views
-2

У меня очень большой цикл wend в моем Excel VBA.Избегайте дублирования While-Wend loop in excel vba

Ранее в коде я установил переменную strMode в True или False.

Если False то в моем состоянии в то время как я хочу, чтобы установить

while var1 + var1previous > 1 

и если это True

while var1 + var1previous > 1 or var1previous+ var1 > 1 

Как я могу это сделать, если я не то, что " double "код While-Wend, для моего заявления If?

+0

Части до и после «Ор» одинаковы. – GSerg

ответ

0

Я собираюсь предположить, что вы пытаетесь сделать, потому что так же, как упомянуто @Gserg,

ваше второе условие выглядит так же.


Я собираюсь позвонить var1 + var1previous> 1 условие Cond_A и второе условие, которое вы использовали или после Cond_B

Cond_A = var1+var1previous ' This will be first condition 
Cond_B = 0 
If strMode then Cond_B = var1+var1previouis 'This will be second condition 

While Cond_A > 1 or Cond_B > 1 

Что я сделал выше, что, когда значение strMode верно то вы сравниваете оба условия.

Когда strmode является ложным, то, так как второе условие уже установлен в ложном

и из-за или это будет просто сравнить Cond_A и петли.

+0

Thx MutjayLee - var1 и var1previous изменяются во время цикла wend, я думаю, моя проблема в том, что я не знаю, как объявить переменную Cond_A и B, чтобы они были правильно прочитаны в состоянии while. : -/ –

+0

MutjayLee - вы просто дали мне идею - я могу ввести переменную 0/1 и умножить условие (B) на 0 или 1 соответственно и что Works - thx Again - могу ли я дать какие-то точки? –

+0

Мне все равно, что касается очков. Я даже не знаю, для чего нужны очки. Мне просто нравится помогать людям решать их проблемы. И я знаю, что я не решал напрямую, но я рад, что смогу помочь в вашей проблеме :) – MutjayLee