从Visual Basic中的函数返回

时间:2013-03-13 11:11:29

标签: excel-vba vba excel

我必须更新Excel文件,其中包含一个附加到按钮的Visual Basic例程。 我试图阻止例程运行空数据,并希望尽早返回:

Sub FillProductDetail()
    Dim wks As Worksheet
    set wks = Worksheets("Product Detail")

    Dim ProductToShow As String
    ProductToShow = wks.Range("C4")
    wks.Rows("5:1000")Delete Shift :=xlUp

    If ProductToShow = "" Then
        Return
    End If

    ..... many lines which take forever if ProductToShow is empty

End Sub

我知道如何在If语句中包含函数的其余部分,这是有效的,但随后所有内容都向右缩进。我之前在Basic中看过Return语句。

2 个答案:

答案 0 :(得分:1)

你应该使用Exit Sub 在子程序中

答案 1 :(得分:1)

这是你的意思吗?

Option Explicit

Sub FillProductDetail()
    Dim wks As Worksheet
    Set wks = ThisWorkbook.ActiveSheet

    Dim ProductToShow As String
    ProductToShow = wks.Range("C4")
    wks.Rows("5:1000").Delete Shift:=xlUp

    If ProductToShow = "" Then GoSub MyRoutine
    Exit Sub

MyRoutine:
    MsgBox "Empty cell"
    Return
End Sub