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,则”
  • 你的理论逻辑是多余的。如果分数不小于55,则没有理由检查分数是否大于或等于55
  • 在这里,选择一个案例可能更合适
  • 当应该使用实数时,不要使用看起来像数字的文本
  • 对于得分小于35或大于85的情况,没有规定
  • 更正:

    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
    如果结束
    
    你的重写很好,我从你的评论中看出我的代码哪里出错了。非常感谢你的帮助,非常感谢。