Excel 从Visual Basic中的函数返回
我必须更新一个Excel文件,其中包含一个附在按钮上的Visual Basic例程。 我试图阻止例程使用空数据运行,并希望尽早返回:Excel 从Visual Basic中的函数返回,excel,vba,Excel,Vba,我必须更新一个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")
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语句。您应该使用
Exit Sub
在子程序中,这就是你的意思吗
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
实际上我用的是“如果。。。然后Exit Sub Endif说,如果没有额外的消息,你可以考虑使用路由,因为你已经说过,如果单元格是空的,就有大量的代码行要执行。我一直不清楚,如果函数的其余部分将以空的值运行,则需要花费很长时间,所以应该始终设置值。我会投票支持你的答案,但我还不被允许。没关系。我很高兴你澄清了需要什么,并得到了你的答案!