VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3408|回复: 13

菜鸟求解语法问题

[复制链接]

8

主题

19

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-10-13 10:30:01 | 显示全部楼层 |阅读模式
就是对于VB的条件语句中,end if到底是怎么用的?它到底是在什么情况下结合什么用呢?
有时候错误弹出说else 没有if是怎么回事?
就比如下面的一个程序:
Private Sub Command1_Click()
Dim s As Integer
s = Text1.Text
If s Mod 3 = 0 Then
     x = MsgBox("是3的倍数", vbOKOnly, "数值判断")
Else
     If s Mod 3 <> 0 Then
          x = MsgBox("不是3的倍数", vbOKOnly, "数值判断")
     End If
End If
End Sub

这个end if到底和谁结合使用,如果不要它的话,怎么改呢?谢谢了!!!
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-10-13 11:30:01 | 显示全部楼层
end if 是和if 配合的。有一个if必然要有一个end if。
比如:
if 条件 then
     执行1
else
     执行2
end if
回复

使用道具 举报

0

主题

10

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-10-13 12:30:02 | 显示全部楼层
最基本的语法阿.........汗一个

If condition Then
[statements]

[ElseIf condition-n Then
[elseifstatements] ...

[Else
[elsestatements]]

End If


回复

使用道具 举报

0

主题

8

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-10-13 14:30:01 | 显示全部楼层
不要end if 也行啊,看你嫌累不
if a>b then 语句1:语句2: 语句3:语句……
回复

使用道具 举报

8

主题

19

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
 楼主| 发表于 2020-10-13 14:45:01 | 显示全部楼层
总而言之就是一个IF对应一个END IF对吧?
谢谢请总结一下
回复

使用道具 举报

1

主题

11

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-10-13 15:00:01 | 显示全部楼层
是的
如果没有后面end if
你就调试不过去了
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-10-13 15:45:01 | 显示全部楼层
if  后面 一定要有个 end if  
中间可以存 else  也可以存在 新的if 语句 , 但是对应的if 语句也必须要有end if

if ... then
...if ...then
   ...
   else
   ...if ... then
      ...
      end if
    end if
end if

这样规范的代码写法 就很容易看出哪个if  对应哪个END IF 了
回复

使用道具 举报

0

主题

34

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-10-13 16:00:02 | 显示全部楼层
很简单 IF  End if 语句一定要配对出现,一行中写完的除外如

1)(一行):
If ... then ...

2)(需要配对)
if ....then
...
end if

3)嵌套
if ....then
if ....then
end if
end if
回复

使用道具 举报

0

主题

34

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-10-13 16:15:01 | 显示全部楼层
Private Sub Command1_Click()
Dim s As Integer
s = Text1.Text
★If s Mod 3 = 0 Then
  x = MsgBox("是3的倍数", vbOKOnly, "数值判断")
Else
  ●If s Mod 3 <> 0 Then
    x = MsgBox("不是3的倍数", vbOKOnly, "数值判断")
  ●End If
★End If
End Sub

★●配对出现
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-10-13 16:45:02 | 显示全部楼层
Private Sub Command1_Click()
Dim s As Integer
s = Text1.Text
If s Mod 3 = 0 Then
     x = MsgBox("是3的倍数", vbOKOnly, "数值判断")
ElseIf s Mod 3 <> 0 Then
     x = MsgBox("不是3的倍数", vbOKOnly, "数值判断")
End If
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表