ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1400|回复: 2

求助:请看代码!菜鸟学vba,是select case 条件错了吗?请指教

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-10-27 10:40 | 显示全部楼层 |阅读模式
看了别怕该书,现正在学习,想用selec case 语句写出if语句同样的效果,请看下面代码!是否case后面的条件错了,应该如何修改?谢谢!
Sub test()
If [a1] = "" Then
MsgBox "a1单元格没有输入数字"
ElseIf [a1] Mod 2 = 0 Then
MsgBox "a1单元格能被2整除!"
ElseIf [a1] Mod 3 = 0 Then
MsgBox "a1单元格能被3整除!"
ElseIf [a1] Mod 5 = 0 Then
MsgBox "a1单元格能被5整除!"
Else
MsgBox "a1单元格不能被2、 3、 5其中之一整除!"
End If
End Sub



Sub test1()
If [a1].Value = "" Then
MsgBox "a1单元格没有输入数字"
Exit Sub
End If
Select Case [a1].Value
Case [a1].Value Mod 2 = 0
MsgBox "a1能被2整除"
Case [a1].Value Mod 3 = 0
MsgBox "a1能被3整除"
Case [a1].Value Mod 5 = 0
MsgBox "a1能被5整除"
Case Else
MsgBox "a1不能被2、3、5之一整除"
End Select
End Sub

TA的精华主题

TA的得分主题

发表于 2012-10-27 11:34 | 显示全部楼层
本帖最后由 wajour 于 2012-10-27 11:36 编辑

你的case判断用余数与被除数没有直接的可比性建议你这样
  1. Sub test1()
  2. If [A1].Value = "" Then
  3. MsgBox "a1单元格没有输入数字"
  4. Exit Sub
  5. End If
  6. Select Case [A1]
  7. Case Int([A1] / 2) * 2
  8. MsgBox "a1能被2整除"
  9. Case Int([A1] / 3) * 3
  10. MsgBox "a1能被3整除"
  11. Case Int([A1] / 5) * 5
  12. MsgBox "a1能被5整除"
  13. Case Else
  14. MsgBox "a1不能被2、3、5之一整除"
  15. End Select
  16. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-27 13:36 | 显示全部楼层
本帖最后由 yeminqiang 于 2012-10-27 15:57 编辑

谢谢wajour ,又知道多一点了,感谢!{:soso_e163:}
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 17:56 , Processed in 0.036802 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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