猿问

调试却发现总是出现“case else”中的情况?为什么?

我想做一个BMI计算器,想套用一下case函数,但调试却发现总是出现“case else”中的情况,无论计算结果是什么,一下便是我用的完整代码,求解答:
Private Sub Command1_Click()
a = InputBox("请输入您的身高(单位:米)", "输入")
b = InputBox("请输入您的体重(单位:公斤)", "输入")
c = b / (a * a)
text1.Text = c
Select Case c
Case c < 18.5
MsgBox ("消瘦,多吃点东西吧,别再减肥了!")
Case 18.5 < c < 23.9
MsgBox ("体重健康,继续保持哦!")
Case 24 < c < 27.9
MsgBox ("稍微重了一点儿,饮食上多加注意,多做运动哦!")
Case Else
MsgBox ("太重了,该减肥了")
End Select
End Sub

白猪掌柜的
浏览 65回答 2
2回答

慕尼黑5688855

Select Case语句的使用格式不对,这样修改就行了:Private Sub Command1_Click()a = InputBox("请输入您的身高(单位:米)", "输入")b = InputBox("请输入您的体重(单位:公斤)", "输入")c = b / (a * a)Text1.Text = cSelect Case cCase Is < 18.5MsgBox ("消瘦,多吃点东西吧,别再减肥了!")Case 18.5 To 23.9MsgBox ("体重健康,继续保持哦!")Case 24 To 27.9MsgBox ("稍微重了一点儿,饮食上多加注意,多做运动哦!")Case ElseMsgBox ("太重了,该减肥了")End SelectEnd Sub

海绵宝宝撒

case后边应该是常量值而不是表达式。下边是一个例子select case ccase 1case 2case 3case elseend select你的select case 应该改成if语句if c<18.5 thenMsgBox ("消瘦,多吃点东西吧,别再减肥了!")elseif c>18.5 and c<23.9 thenMsgBox ("体重健康,继续保持哦!")elseif 24 < c and c< 27.9 thenMsgBox ("稍微重了一点儿,饮食上多加注意,多做运动哦!")elseMsgBox ("太重了,该减肥了")end ifend ifend if&nbsp;
随时随地看视频慕课网APP
我要回答