VB程序内显示块IF 没有end if……

 我来答
远宏018
高粉答主

2020-08-26 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:2642
采纳率:100%
帮助的人:45.6万
展开全部

书写不规范,不容易看出缺少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,这样不容易出错。

扩展资料:

Visual Basic源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建Active X控件,用于高效生成类型安全和面向对象的应用程序。

VB 的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI 系统,但是又可以开发相当复杂的程序。

帐号已注销
2020-08-26 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

if val(text1.text)<500 then

label1.caption="猜的太小"

else

if val(text1.text)=500 then

label1.caption="猜对"

else

label1.caption="猜的太大"

end if

end if

例如:

Private Sub Command1_Click()

Dim x As Integer

If x >= 90 Then

Text2.Text = "A等"

Else

If x >= 80 Then

Text2.Text = "B等"

Else

If x >= 60 Then

Text2.Text = "C等"

Else

If x < 60 Then

Text2.Text = "E等"

End If

End If ' 这里漏了个End If

End If

End If

End Sub

请留意代码里,变量x未赋值,请补上赋值代码,否则变量x将恒为0。

扩展资料:

(1)Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。 

例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符(=(等于)、>(大于)、>=(大于等于)、<=(小于等于等运算符))。

(2)Value_if_true表示 logical_test 为 TRUE 时返回的值。

例如,如果本参数为文本字符串“预算内”而且 logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则本参数返回 0。如果要显示 TRUE,则请为本参数使用逻辑值 TRUE。value_if_true 也可以是其他公式。

参考资料来源:百度百科-IF函数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kangyi1980
推荐于2017-10-13 · 超过33用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:20.6万
展开全部
书写不规范,不容易看出缺少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,这样不容易出错。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老牛带你看奇闻
2007-10-14 · TA获得超过863个赞
知道小有建树答主
回答量:500
采纳率:0%
帮助的人:779万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b19e03d
2010-12-23
知道答主
回答量:26
采纳率:0%
帮助的人:18.8万
展开全部
嗯 1楼说的对你 确实少了一个 END IF 因为一个IF语句只能有一个ELSE如果想判断多个用SELECT CASE比较好,如果你想用IF的话 多次判断就用ELSEIF就可以了 例如:
IF.....THEN
......
ELSEIF ....... THEN
......
ELSE
.......
END IF
就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式