VB select case语句中遇到了问题,求教

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:21:52
Dim L As Double, H0 As Double
Private Sub Command1_Click()
L = Val(Text1.Text)
Select Case L
Case L < 17000
H0 = (L / 17) / 2
Case 17000 < L < 23000
H0 = (L / 18) / 2
Case L = 23000
H0 = (L / 19) / 2
Case Else
HO = (L / 20) / 2
End Select
Text2.Text = Str(HO)
End Sub
为什么这段程序运行后不管输入什么熟,只最后面的语句起到作用,哪里编错了?

我告诉你,你的程序有两点问题。
第一,就是错误。17000 < L < 22999 不是vb的条件表达式。可以按照其他人的建议写,但对你目前的理解还是有点问题;我建议写成17000 to 23000。
第二,是一种思路失误,不构成错误,但这样不是好习惯。就是HO = (L / 20) / 2 样式的语句反复出现。应该合并。

综上,你的代码写成:
Dim L As Double, H0 As Double ,除数 as double
Private Sub Command1_Click()
L = Val(Text1.Text)
Select Case L
Case is < 17000
除数=17
Case 17000 to 22999
除数=18
Case 23000
除数=19
Case Else
除数=20
End Select
HO = L / 除数/2
Text2.Text = Str(HO)
End Sub

Dim L As Double, H0 As Double
Private Sub Command1_Click()
L = Val(Text1.Text)
Select Case L
Case is < 17000
H0 = (L / 17) / 2
Case is < 23000
H0 = (L / 18) / 2
Case 23000
H0 = (L / 19) / 2
Case Else
HO = (L / 20) / 2
End Select
Text2.Text = text2+Str(HO)
End Sub

Dim L As Double, H0 As Double
Private Sub Command1_Click()
L = Val(Text1.