作者cloudwithsky (寂寞使我更优雅)
看板Visual_Basic
标题[VBA ] Do while 回圈跳不出来
时间Sat Jan 21 12:27:23 2017
各位好,鲁妹是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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.40.23.201
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1484972847.A.B0C.html
1F:→ MOONRAKER: 你写if j=intger 是打算检查什麽 判断整数不是这样写 01/21 15:06
2F:→ MOONRAKER: select case拆掉改成if...else if...end if 01/21 15:08
3F:→ MOONRAKER: VB的select功能混乱 新手使用百害无一利 01/21 15:08
4F:推 harryfly: do while应该是用在 不论如何都会先执行一次叙述 01/23 05:34
5F:→ harryfly: 才去执行判断式 true则继续执行叙述 false则跳出 01/23 05:34
6F:→ harryfly: 如 Do ...[叙述] While(判断式) Loop 01/23 05:36
7F:→ harryfly: 想判断是否整数 VB有函数可以用 可以google一下 01/23 05:39
8F:→ harryfly: select case 後面是放运算式or变数 01/23 05:40
9F:→ harryfly: 关於InputBox的用法 我认为你应该再多阅读一下 01/23 05:41
10F:→ harryfly: 另外我也认为就先用if else就好 逻辑上较不会出错 01/23 05:45
11F:→ harryfly: 以上 一个不太算新手的新手的浅见 有误请告知 01/23 05:46
12F:→ harryfly: 对不起 原PO的InputBox用法是正确的 但用的地方我认为不 01/23 05:48
13F:→ harryfly: 恰当 01/23 05:48
14F:推 harryfly: 刚刚看了一下 我好像以为你的do while 用错了 01/23 05:52
15F:→ harryfly: 一不小心 忘了VB跟C Do while的写法不一样 01/23 05:54
16F:→ harryfly: 好丢脸QQ 可以帮我删推文吗 当我没推过文...... 01/23 05:54
17F:→ niklee29: 当作观念来看不用删啊,好歹也打这麽行...XD 01/23 11:59
18F:→ cloudwithsky: 哈哈~害我疑惑一下跑去翻书...然後才看到最後一行XD 01/23 14:07
19F:→ cloudwithsky: 感谢大德们,立马试试看先 01/23 14:07