Excel 单元格值不正确
尝试获取要根据Excel 单元格值不正确,excel,vba,Excel,Vba,尝试获取要根据L5值更改的X5值。代码只返回620不管L5值如何,有人能告诉我哪里做错了 'Change Peak Flow For Age Group Dim score As Integer, result As String score = Range("L5").Value If score => 35 < 40 Then Range("X5").Value = "620" Else If score
L5
值更改的X5
值。代码只返回620
不管L5
值如何,有人能告诉我哪里做错了
'Change Peak Flow For Age Group
Dim score As Integer, result As String
score = Range("L5").Value
If score => 35 < 40 Then
Range("X5").Value = "620"
Else
If score => 40 < 45 Then
Range("X5").Value = "610"
Else
If score => 45 < 50 Then
Range("X5").Value = "600"
Else
If score => 50 < 55 Then
Range("X5").Value = "580"
Else
If score => 55 < 60 Then
Range("X5").Value = "560"
Else
If score => 60 < 65 Then
Range("X5").Value = "550"
Else
If score => 65 < 70 Then
Range("X5").Value = "525"
Else
If score => 70 < 75 Then
Range("X5").Value = "490"
Else
If score => 75 < 79 Then
Range("X5").Value = "450"
Else
If score => 80 < 85 Then
Range("X5").Value = "430"
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
“改变年龄组的峰值流量”
将分数设置为整数,结果设置为字符串
分数=范围(“L5”)。值
如果得分=>35<40,则
范围(“X5”)。值=“620”
其他的
如果得分=>40<45,则
范围(“X5”).Value=“610”
其他的
如果得分=>45<50,则
范围(“X5”).Value=“600”
其他的
如果得分=>50<55,则
范围(“X5”).Value=“580”
其他的
如果得分=>55<60,则
范围(“X5”).Value=“560”
其他的
如果得分=>60<65,则
范围(“X5”).Value=“550”
其他的
如果得分=>65<70,则
范围(“X5”).Value=“525”
其他的
如果得分=>70<75,则
范围(“X5”).Value=“490”
其他的
如果得分=>75<79,则
范围(“X5”).Value=“450”
其他的
如果得分=>80<85,则
范围(“X5”).Value=“430”
如果结束
如果结束
如果结束
如果结束
如果结束
如果结束
如果结束
如果结束
如果结束
如果结束
端接头
如果分数=>35<40,那么
语法是错误的,您的逻辑是有缺陷的<代码>如果分数=>35<40,则解析为“如果分数大于或等于True,则”if score >= 35 and score < 85 then
If score < 40 Then
Range("X5").Value = 620
ElseIf score < 45 Then
Range("X5").Value = 610
ElseIf score < 50 Then
Range("X5").Value = 600
ElseIf score < 55 Then
Range("X5").Value = 580
ElseIf score < 60 Then
Range("X5").Value = 560
ElseIf score < 65 Then
Range("X5").Value = 550
ElseIf score < 70 Then
Range("X5").Value = 525
ElseIf score < 75 Then
Range("X5").Value = 490
ElseIf score < 79 Then
Range("X5").Value = 450
ElseIf score < 85 Then
Range("X5").Value = 430
...
End If
else
Range("X5").clearcontents
end if
如果分数>=35且分数<85,则
如果分数<40,则
范围(“X5”)。值=620
ElseIf评分<45分
范围(“X5”)。值=610
ElseIf评分<50分
范围(“X5”)。值=600
ElseIf评分<55分
范围(“X5”)。值=580
ElseIf评分<60分
范围(“X5”)。值=560
ElseIf评分<65分
范围(“X5”)。值=550
ElseIf评分<70分
范围(“X5”)。值=525
ElseIf评分<75分
范围(“X5”)。值=490
ElseIf评分<79分
范围(“X5”)。值=450
ElseIf评分<85分
范围(“X5”)。值=430
...
如果结束
其他的
范围(“X5”)。clearcontents
如果结束
重写:
if score >= 35 and score < 85 then
select case true
case score < 40
Range("X5").Value = 620
case score < 45
Range("X5").Value = 610
case score < 50
Range("X5").Value = 600
case score < 55
Range("X5").Value = 580
case score < 60
Range("X5").Value = 560
case score < 65
Range("X5").Value = 550
case score < 70
Range("X5").Value = 525
case score < 75
Range("X5").Value = 490
case score < 79
Range("X5").Value = 450
case score < 85
Range("X5").Value = 430
end select
else
Range("X5").clearcontents
end if
如果分数>=35且分数<85,则
选择case true
病例评分<40
范围(“X5”)。值=620
病例评分<45
范围(“X5”)。值=610
病例评分<50
范围(“X5”)。值=600
病例评分<55
范围(“X5”)。值=580
病例评分<60
范围(“X5”)。值=560
病例评分<65
范围(“X5”)。值=550
病例评分<70
范围(“X5”)。值=525
病例评分<75
范围(“X5”)。值=490
病例评分<79
范围(“X5”)。值=450
病例评分<85
范围(“X5”)。值=430
结束选择
其他的
范围(“X5”)。clearcontents
如果结束
你的重写很好,我从你的评论中看出我的代码哪里出错了。非常感谢你的帮助,非常感谢。