VB程序内显示块IF 没有end if……
答案:6 悬赏:20
解决时间 2021-03-12 14:37
- 提问者网友:霸道ぁ小哥
- 2021-03-11 22:04
最佳答案
- 二级知识专家网友:时光不老我们不分离
- 2021-03-11 22:24
书写不规范,不容易看出缺少End IF,应该这样写:
if val(text1.text)<500 then
label1.caption="你猜的太小了"
else
if val(text1.text)=500 then
label1.caption="你猜对了"
else
label1.caption="你猜的太大了"
end if
end if
一个if对应一个end if,在写程序时,写好if后立即换行写好end if,这样不容易出错。
if val(text1.text)<500 then
label1.caption="你猜的太小了"
else
if val(text1.text)=500 then
label1.caption="你猜对了"
else
label1.caption="你猜的太大了"
end if
end if
一个if对应一个end if,在写程序时,写好if后立即换行写好end if,这样不容易出错。
全部回答
- 1楼网友:如果这是命
- 2021-03-12 01:20
If n Mod 2 <> 0 Then MsgBox ("总脚数不是偶数")
End If
If n <= 2 * m Then MsgBox ("脚数小于头数的倍数,重新输入")
End If
这两条语句你直接把要执行的语句放到then的后面了,所以是不要 endif的。加了是多余的。会报错。
还有就是你的这个判断其实是个摆设,起不到实际作用。不管输入是否正确都会顺序执行下来。根据你的思路。你可以这样写:
Private Sub Form_click()
Dim m%, n%, x%, y%
m = Val(InputBox("请输入鸡和兔的总头数"))
j: n = Val(InputBox("请是输入鸡和兔的总脚数"))
If n Mod 2 <> 0 Then
MsgBox ("总脚数不是偶数")
GoTo j
End If
If n <= 2 * m Then
MsgBox ("脚数小于头数的倍数,重新输入")
GoTo j
End If
y = (n - 2 * x) / 4
x = m - y
Print "鸡有:"; x; " 只 "; "兔有:"; y; "只"
End Sub
- 2楼网友:晨与橙与城
- 2021-03-12 00:46
if b > a then应改为elseif b > a then 最后结果如下 private sub command1_click() dim a, b as double a = rnd b = rnd if a > b then msgbox "a胜b" elseif b > a then msgbox "b胜a" else msgbox "和" end if end sub
- 3楼网友:桑稚给你看
- 2021-03-12 00:13
Sheets("商品入库已及查询").Select '----- 激活工作表"商品入库已及查询"
MsgBox "品名请勿空白!", vbOKOnly
之间缺少:
If Trim(Cells(7, 1).Value) = "" Then
- 4楼网友:一起来看看吧
- 2021-03-11 23:40
Sheets("商品入库已及查询").Select '----- 激活工作表"商品入库已及查询"
MsgBox "品名请勿空白!", vbOKOnly
之间缺少:
If Trim(Cells(7, 1).Value) = "" Then
- 5楼网友:迷人小乖乖
- 2021-03-11 23:06
嗯 1楼说的对你 确实少了一个 END IF 因为一个IF语句只能有一个ELSE如果想判断多个用SELECT CASE比较好,如果你想用IF的话 多次判断就用ELSEIF就可以了 例如:
IF.....THEN
......
ELSEIF ....... THEN
......
ELSE
.......
END IF
就可以了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯