2013-12-18 7 views
0

Может ли кто-нибудь увидеть, что случилось с моим циклом while ниже? В основном я хочу попросить пользователя ввести «m» или «w», однако при запуске он, кажется, вводит бесконечный цикл, несмотря на то, что пользователь вводит «m» или «w».Бесконечная петля в VBA

While period <> "m" Or period <> "w" 
    period = InputBox(Prompt:="Please enter the period (m/w): ", Title:="Period") 
Wend 
+0

Спасибо, Кевин и Дэниел, И отлично работали: D – SeekingAlpha

ответ

3

Это бесконечный цикл, потому что, если period = "m" затем period <> "w" и наоборот

Переключение на следующий, скорее всего, что вы хотите.

While period <> "m" AND period <> "w" 
    period = InputBox(Prompt:="Please enter the period (m/w): ", Title:="Period") 
Wend 
2

Я думаю, что вы имеете в виду And вместо Or почти любой вход не будет «ш» или «м», включая вес и т. (w не равно m, так что условие все еще верно и наоборот).

+1

Не могу себе представить, почему это было ниспровергнуто, а мое не было ... +1 –

Смежные вопросы