根据单元格值调用sub

时间:2017-05-03 09:55:21

标签: vba excel-vba excel

我在VBA中有三个不同的Subs,并希望从一个独特的Sub使用按钮调用这些Subs。 应根据条件调用sub中的任何一个,但不会调用sub!

Sub rush_hour()
    If Range("B2").Value = "Greater Than" Then
        Call call_rus_greater
    ElseIf Range("B2").Value = "Less Than" Then
        Call call_rus_less
    ElseIf Range("B2").Value = "Equals" Then
        Call call_rus_equals
    End If
End Sub

1 个答案:

答案 0 :(得分:3)

下拉列表中的大小写可能与您在代码中的大小写不同。下拉列表中某处可能没有空格,或者指定范围(" B2")的工作表不是当时的活动工作表调用子。所有这些可能性都在下面的代码中消除。

Sub rush_hour()

    Select Case Trim(LCase(ActiveSheet.Range("B2").value))
        Case "greater than"
            call_rus_greater
        Case "less than"
            call_rus_less
        Case "equals"
            call_rus_equals
        Case Else
            MsgBox "Unexpected value in cell B2"
    End Select
End Sub