View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
BRC[_2_] BRC[_2_] is offline
external usenet poster
 
Posts: 19
Default stop calling sub Intentionally without error.

On Jan 12, 10:53*am, Chip Pearson wrote:
You should write your Sub_2 as a Function procedure that returns True
if execution is to continue or False if execution should cease. E.g.,

Function Proc2()
* * * * If Range("SomeRange").Rows.Count < 50 Then
* * * * * * * * Proc2 = False
* * * * Else
* * * * * * * * Proc2 = True
* * * * End If
End Function

Then, in Sub_1,

Sub Sub_1()
* * * * Dim Continue As Boolean
* * * * Continue = Proc2()
* * * * If Continue = False Then
* * * * * * * * Exit Sub
* * * * End If
* * * * ' more code
End Sub

Cordially,
Chip Pearson
Microsoft MVP 1998 - 2010
Pearson Software Consulting, LLCwww.cpearson.com
[email on web site]

On Tue, 12 Jan 2010 10:43:24 -0800 (PST), BRC



wrote:
Hi all,
I am trying to find a way to stop all sub's from running if certain
conditions are encountered. sin the example below, if row count is
less than 50 I would like to stop sub_1 from running. *All of the
posts i find on this subject are related to errors. this isn't really
an error just a condition. *Thanks for any advice. BRC


sub _1()
call sub_2
do some stuff
end sub


sub_2()
if range ("somerange").rows.count <50 then
msgbox("Less than 50 rows")
exit sub
else
end sub- Hide quoted text -


- Show quoted text -


thank you for the quick responses. I thought i read somewhere that
using smaller sections of code where more efficient and make debug
easier. also I thouht that having several sub routines to do
differnt things might be a better approach then writing one long
macro. Given all that, Chip I am not sure how Sub Sub_1() in your
example knows that the Function Proc2() ended in true (or false).
Thanks again for the help