乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 99|回复: 6

if 命令和 case 命令,为什么会这样?

[复制链接]

68

主题

218

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
490
发表于 2004-6-28 15:38:00 | 显示全部楼层 |阅读模式
xx=100
if xx=100 then
....
endif
select case xx
case 100
...
end select
为什么我将xx设定为100,用if 命令不能执行,用case 命令能执行,何也?两者到底有什么不同之外?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-28 15:59:00 | 显示全部楼层
完整一点的代码可以传上么
我这样可以
Sub h()
Dim a As String
a = 100
If a = 100 Then
MsgBox "True1"
End If
End Sub
回复

使用道具 举报

85

主题

1175

帖子

11

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1518
发表于 2004-6-28 19:15:00 | 显示全部楼层
对啊,请贴全一点的代码。这一段是没有问题的。
另外,end if中应该有一个空格的。
回复

使用道具 举报

68

主题

218

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
490
发表于 2004-6-28 20:28:00 | 显示全部楼层
完整的代码太长了,传上是没问题,要找出也很困难。对不起上面的贴子说错了,不是上面所说而是:
上面两个都能执行。
但xx=100
select case xx
case xx=100
......
end select 不能执行
将case xx=100 改为case 100就得执行,但没提示有语法错误。何也??
难道case xx=100是精确等于吗?要全部匹配还是什么的。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-28 20:38:00 | 显示全部楼层
select case xx
case xx=100
......
end select
语法错
应该是
select case xx
case 100
......
end select
case x=100
相当于case True(X=100时)
回复

使用道具 举报

68

主题

218

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
490
发表于 2004-6-28 20:48:00 | 显示全部楼层
很感谢,另外我还想问一下
case xx=100
其中xx是字符还是数值。
如果dim xx as interage ‘定义xx为整形数
xx=100
case xx=100 能执行下面的语句吗?如果不定为xx为定整形数,则xx=100哪么xx是字符串还是数值?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-28 20:51:00 | 显示全部楼层
VBA的Case语句的参数是整型
默认的,它会把能够转化为整型的数据转化为整型
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 21:25 , Processed in 0.453715 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表