标题:新手请教if语句问题
只看楼主
champion3568
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-3-28
结帖率:0
已结贴  问题点数:20 回复次数:3 
新手请教if语句问题
各位论坛们前辈老师们您们好
有一个if语句问题,代码如下:
Private Sub Command1_Click()
Dim x, a As String
x = InputBox("请问你是否通过了考试:")
x = CStr(a)
If a = 是 Then
MsgBox CStr(a) & "恭喜你会有惊喜"
ElseIf a = 不是 Then
MsgBox CStr(a) & "很遗憾,没有惊喜"
End If
End Sub

在我输入“是” 的时候就会弹出“恭喜你会有惊喜”
而当我输入“不是”的时候,还会弹出“恭喜你会有惊喜”
不知怎么回事?
另外就是,怎样实现,输入出“字”以外的其他字,就能退出窗体,谢谢!



搜索更多相关主题的帖子: 输入 语句 End if MsgBox 
2020-03-28 16:57
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:7 
x 值是什么?
a 值又是什么?
变量 是  的值是什么
变量 不是 的值 是什么

搞懂了为什么你这个程序里 ,是 和 不是 为什么是变量,然后这四个变量的值都是什么,你就明白了你这个 if 错在什么地方了。

最后一个问题,再加一层 else 就可以了。
加在 end if 前面
else
unload me

要求 end if 后面没有了需要执行的命令,语句结构结束命令不算

授人于鱼,不如授人于渔
早已停用QQ了
2020-03-28 19:08
HVB6
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:320
专家分:561
注 册:2013-10-30
得分:7 
原程序有几处错误:
Private Sub Command1_Click()
Dim x, a As String
x = InputBox("请问你是否通过了考试:")
  'x = CStr(a)'此时a是空值
   a= CStr(x)
'If a = 是 Then'汉字应有双引号
If a = "是" Then
MsgBox CStr(a) & "恭喜你会有惊喜"
'ElseIf a = 不是 Then'汉字应有双引号
ElseIf a = "不是" Then
MsgBox CStr(a) & "很遗憾,没有惊喜"
End If
End Sub

[此贴子已经被作者于2020-3-30 18:20编辑过]

2020-03-30 18:15
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:7 
Private Sub Command1_Click()
Dim x, a As String
x = InputBox("请问你是否通过了考试:")
a = CStr(x)  '必须给变量a赋值,a没有值在判断时以空字符串处理
If a = "是" Then   '因为a是字符串,后面必须用双引号的字符串,如果没有双引号,程序认为是另一个变量,这个变量也是空,你的变量a在前面没有赋值,因此这个语句始终成立
MsgBox CStr(a) & "恭喜你会有惊喜"
ElseIf a = "不是" Then
MsgBox CStr(a) & "很遗憾,没有惊喜"
End If
End Sub
其他后面语句就不解释了。


[此贴子已经被作者于2020-3-30 20:53编辑过]


请不要选我!!!
2020-03-30 20:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500682-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.335657 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved