Excel vba If,然后输入数值并输出非数值
我是新手,需要一些帮助-如果我的问题有点不清楚,我很抱歉 我想创建一个If-Then语句,使用一个小数点后一位的数字范围作为我的范围,并以非数字形式输出一个单词或代码 这就是我所拥有的,当我第一次尝试它时,它起了作用。我保存了它,但它现在停止工作,在点击命令按钮后,什么也没有发生Excel vba If,然后输入数值并输出非数值,excel,if-statement,range,conditional-statements,vba,Excel,If Statement,Range,Conditional Statements,Vba,我是新手,需要一些帮助-如果我的问题有点不清楚,我很抱歉 我想创建一个If-Then语句,使用一个小数点后一位的数字范围作为我的范围,并以非数字形式输出一个单词或代码 这就是我所拥有的,当我第一次尝试它时,它起了作用。我保存了它,但它现在停止工作,在点击命令按钮后,什么也没有发生 Dim score As Double, result As String If Range("E2") >= 18.6 And Range("E2") <= 21.5 Then Range("F2"
Dim score As Double, result As String
If Range("E2") >= 18.6 And Range("E2") <= 21.5 Then
Range("F2") = "2a"
Else
If Range("E2") >= 21.6 And Range("E2") <= 24.5 Then
Range("F2") = "3c"
End If
End If
因此,如果我在单元格E2中输入一个介于18.6和21.5之间的数字,我希望代码2a出现在单元格F2中。欢迎使用So。正如注释所示,您的语法是正确的。如果你感兴趣,可以给你一些建议。因为一个单元格也可以是一个字符串,而且字符串比数字大,所以可以得到奇怪的结果。一种确定你正在处理什么的方法就是测试它。此外,您可能会发现Select Case语法非常有用:
Sub Example()
Dim score As Double, result As String
If IsNumeric(Range("E2").Value) Then
Select Case Range("E2").Value
Case 18.6 To 21.5
Range("F2") = "2a"
Case 21.6 To 24.5
Range("F2") = "3c"
Case Else
'Do something else if you want to:)
End Select
Else
'Do something else if you want to:)
End If
End Sub
你确定你在正确的工作表上吗?如果不指定范围所在的工作表,则很容易遇到问题。无论如何,我看不出你的代码有任何其他明显的问题。谢谢!我已经解决了。我错在那张纸的名字上加了一个字母。我真傻!