Exit 2 Sub

D

Doug

I have a button that calls for a proceedure. There is a message box to exit
the proceedure if condition is not met. How do I exit the balance of the
first proceedure so it doesn't continue to the end?

The code I have is:

Private Sub cmdEnterPledge_Click()
Call FillPledgeInfo
' more code '( this is where I want to end this sub so it doesn't
continue & save)
ActiveWorkbook.Save
End Sub

Private Sub FillPledgeInfo()
If txtBox1.Value = "" Then
MsgBox ("Donor Number Must be Entered Before Entering Pledge")
Exit Sub
End If
' more code
End Sub

I hope this is enough info so you can figure out what I'm trying to do.
Thanks for your help.
Doug
 
J

JLGWhiz

Based on what you have posted, all you would have to do is remove the

ActiveWorkbook.Save

But I do not think that is what you want to do. I believe the message box
you referred to is missing. So, what I would normally do with the message
box is something like this:

choice = MsgBox("Do you want to continue?", vbYesNo, "CHOOSE")
If choice = vbYes Then
Else
Exit Sub
End If
 
J

Jacob Skaria

Doug

The conditions must be checked within the main procedure itself like below..

Private Sub cmdEnterPledge_Click()
If txtBox1.Value = "" Then
MsgBox ("Donor Number Must be Entered Before Entering Pledge")
Exit Sub
Else
Call FillPledgeInfo
End If

' more code

ActiveWorkbook.Save
End Sub

Private Sub FillPledgeInfo()
' more code
End Sub
 
A

A possible solution

Since I am not sure whether the previous replies really addressed your
question I want to throw in my five cents as well. I would suggest you turn
the FillPledgeInfo() subroutine into a boolean-type function like so:

Private Function FillPledgeInfo() as Boolean
If txtBox1.Value = "" Then
MsgBox ("Donor Number Must be Entered Before Entering Pledge")
FillPledgeInfo = False
Exit Sub
End If
' more code
FillPledgeInfo = True
End Sub

I you do it this way you can include a line like this in your calling routine:

If FillPledgeInfo() = False Then Exit Sub

Hope this helped.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top