[VBA ] Do while 循环跳不出来

楼主: cloudwithsky (寂寞使我更优雅)   2017-01-21 12:27:23
各位好,鲁妹是VB自学初心者
本周在复习Do while 时 发现写出来的循环永不不止息阿阿阿阿
鲁妹本来的预想是希望可以借由do while检查inputbox 的数值是否可以正确执行
若无法,则显示msgbox提醒
所以就有了下列写法,
i = InputBox("Start Value")
If i = "" Then End
Do While i <> ""
If i = intger Then Exit Do
Select Case InputBox("Start Value")
Case IsNumeric(i) = False: MsgBox "请数入数字": i = InputBox("Start
Value")
Case i <= 0: MsgBox "数值不得为负": i = InputBox("Start Value")
End Select
Loop
j = InputBox("End Value")
If j = "" Then End
Do While j <> ""
If j = intger Then Exit Do
Select Case InputBox("End Value")
Case IsNumeric(j) = False: MsgBox "请数入数字": j = InputBox("End Value")
Case j <= 0: MsgBox "数值不得为负": j = InputBox("End Value")
If i = j Then j = j + 1
End Select
Loop
还请好心的大大提点,到底是哪里出了问题阿阿
鲁妹先谢谢大家了m(_ _)m
作者: MOONRAKER (㊣牛鹤鳗毛人)   2017-01-21 15:06:00
你写if j=intger 是打算检查什么 判断整数不是这样写select case拆掉改成if...else if...end ifVB的select功能混乱 新手使用百害无一利
作者: harryfly (波特)   2017-01-23 05:34:00
do while应该是用在 不论如何都会先执行一次叙述才去执行判断式 true则继续执行叙述 false则跳出如 Do ...[叙述] While(判断式) Loop想判断是否整数 VB有函数可以用 可以google一下select case 后面是放运算式or变量关于InputBox的用法 我认为你应该再多阅读一下另外我也认为就先用if else就好 逻辑上较不会出错以上 一个不太算新手的新手的浅见 有误请告知对不起 原PO的InputBox用法是正确的 但用的地方我认为不恰当刚刚看了一下 我好像以为你的do while 用错了一不小心 忘了VB跟C Do while的写法不一样好丢脸QQ 可以帮我删推文吗 当我没推过文......
作者: niklee29 (就是爱喝茶)   2017-01-23 11:59:00
当作观念来看不用删啊,好歹也打这么行...XD
楼主: cloudwithsky (寂寞使我更优雅)   2017-01-23 14:07:00
哈哈~害我疑惑一下跑去翻书...然后才看到最后一行XD感谢大德们,立马试试看先

Links booklink

Contact Us: admin [ a t ] ucptt.com