vb代码一行中的if语句怎么结束分歧 20

我需要将一段程序集中到一行比如将这个代码缩成一行写:a=1ifa=1thenmsgbox("yes")endifmsgbox(a)写成这样后:a=1:ifa=1then:... 我需要将一段程序集中到一行

比如将这个代码缩成一行写:
a=1
if a=1 then
msgbox("yes")
end if
msgbox(a)

写成这样后:
a=1:if a=1 then:msgbox("yes"):end if:msgbox(a)
它说end if没有if,将end if删去后msgbox(a)语句就在分歧里了

怎么办呢
感谢大家,但真的有必要这样,具体的我也不想说了- -
展开
 我来答
网海1书生
科技发烧友

2010-01-01 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26225

向TA提问 私信TA
展开全部
并不是所有VB命令都可以在一行写出来的,尤其迅笑启是if分支结构和其他语句合在一行的情况更是如此,if语句写成一行有两种方式:
1、 if a then b else c
2、 if a then : b : else : c
两种方式都不需要end if(用了就出错),而且第二种方式亩如要求 if a then 必须是整行语句的第一条语句,所以 a=1:if a=1 then: ..... 是不允许的。
另外,不管是那种表示方式,不管是放在then后面还是else后升郑面的语句,都无法再跳出if的分支结构,也就是说都要受if控制了。
所以遇到这种情况只有一种办法:分多行来写,可以单独把if分支结构写成一行,其他语句写在另一行。
另外说明一点,上述两种方式作用完全一样,所以建议用第一种方式。
唐久涛
2010-01-03
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
VB里,if .. then .. endif有两种结构
(1)写在一行时,不需要写endif
(2)分行写时,必须有endif

像你的这几行代码,意思是一定要弹出这个a的值吧,就可以加上else分支,
在颂锋乱条件成立与基则不成立时,都写上弹出对话框语句,这样就一定会弹出野档对话框喽

经本人测试,下面的语句可以:

a = 1: If a = 1 Then MsgBox ("yes"): MsgBox (a) Else MsgBox (a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cang_2009
2010-01-01 · TA获得超过181个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:0
展开全部
'呵呵,容圆局易,不晌祥能生搬硬套,既然都一行橘谨让了,就不需要End If了嘛。
'代码如下
a = 1: If a = 1 Then MsgBox ("yes"): MsgBox a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
__帅__帅
2010-01-01 · TA获得超过308个赞
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
a = 1 : If a = 1 Then : MsgBox("yes") : End If : MsgBox(a)

代码没什么问题啊,可能芦铅是其铅首它地方出错了。检查一下前边和后边的代码有没有槐哗数和if 相关的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9d1bc015
2010-01-01 · 超过29用户采纳过TA的回答
知道答主
回答量:248
采纳率:0%
帮助的人:103万
展开全部
我认为
还是按照标准的格式来
这样看起来比较清楚!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sh_8851
2010-01-01 · TA获得超过550个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:255万
展开全部
非要这样携和滑辩腊写的话将MsgBox (a) 放在棚孙if的前面不就可以了?
a = 1: MsgBox (a) :If a = 1 Then MsgBox ("yes")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式