Excel vba If And Then输入数值并输出非数值

时间:2015-02-27 22:55:56

标签: excel excel-vba if-statement range conditional-statements vba

我是新手,需要一些帮助 - 如果我的问题有点不清楚,我很抱歉。

我想创建一个If-Then语句,使用一系列数字(带一个小数位)作为我的Range,输出为非数字形式(单词或代码)

这就是我所拥有的,当我第一次尝试时,它起作用了。我保存了它但它现在停止工作,点击命令按钮后没有任何反应。

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中。

1 个答案:

答案 0 :(得分:0)

欢迎来到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