Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
stop calling sub Intentionally without error.
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
stop calling sub Intentionally without error.
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, LLC www.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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
stop calling sub Intentionally without error.
Instead of performing the "less than 50" test in sub_2, why not do it in
sub_1? Sub sub_1() If Range("somerange").Rows.Count < 50 Then MsgBox "Less than 50 rows!" Exit Sub End If Call sub_2 ' do some stuff End Sub Sub sub_2() ' do some stuff End Sub -- Rick (MVP - Excel) "BRC" wrote in message ... 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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
stop calling sub Intentionally without error.
On Jan 12, 11:30*am, BRC wrote:
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- Hide quoted text - - Show quoted text - Never mind, I see how that happens. Thanks again. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
I need to intentionally set a variable to 'error' (iserror(x) = true) | Excel Programming | |||
Intentionally not validate Sub or Function | Excel Programming | |||
Intentionally truncating text characters | Excel Discussion (Misc queries) | |||
Error 49: Bad .dll Calling Convention | Excel Programming | |||
Bad DLL Calling Convention (Error 49) | Excel Programming |