1

我必须更新一个 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 语句。

4

2 回答 2

1

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

于 2013-03-13T11:15:19.493 回答
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
于 2013-03-13T11:18:49.427 回答