Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Every One
There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If you have two dependent functions (and it sounds like you have) then
consider combining these to avoid any unwanted interactions. Introducing delays does not sound like a very good solution to me. -- Regards, Nigel "Mallick" wrote in message ... Hi Every One There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Nigel for your quick reply.
The relationship between the two function is such that the output of function B helps Function A to reach a decision. These cannot be combined because of the limitation of Functions. It passes one value to its calling cell only. Hence, a Function can not do any other operation or pass value to any other cell in the worksheet. Its infact hell of a restriction. Can't use subroutine because of interface problems with other software. Mallick "Nigel" wrote: If you have two dependent functions (and it sounds like you have) then consider combining these to avoid any unwanted interactions. Introducing delays does not sound like a very good solution to me. -- Regards, Nigel "Mallick" wrote in message ... Hi Every One There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
why not make function B dependent on the results of Function A?
Cell A1 contains =FuncA( ...) Cell B10 contains =FuncB(A1, ...) Or if you want to have a function that returns 2 values Function FuncC( ...) as variant dim Ansa(2,1) as variant Ansa(1,1)=FuncA(...) .. .. Ansa(2,1)=Funcb(...) FuncC=Ansa end Function and array enter (Control-Shift-Enter) FuncC into 2 cells Charles ___________________________________ The Excel Calculation Site http://www.decisionmodels.com "Mallick" wrote in message ... Thanks Nigel for your quick reply. The relationship between the two function is such that the output of function B helps Function A to reach a decision. These cannot be combined because of the limitation of Functions. It passes one value to its calling cell only. Hence, a Function can not do any other operation or pass value to any other cell in the worksheet. Its infact hell of a restriction. Can't use subroutine because of interface problems with other software. Mallick "Nigel" wrote: If you have two dependent functions (and it sounds like you have) then consider combining these to avoid any unwanted interactions. Introducing delays does not sound like a very good solution to me. -- Regards, Nigel "Mallick" wrote in message ... Hi Every One There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Charles for your post.
The first option gives a circular reference error as Function A already refers to Function B. Your second option is new to me as previously thought that 1 Function can only return one value. Can you please explain that a bit more? specially the subscripts in Ansa. Many Thanks "Charles Williams" wrote: why not make function B dependent on the results of Function A? Cell A1 contains =FuncA( ...) Cell B10 contains =FuncB(A1, ...) Or if you want to have a function that returns 2 values Function FuncC( ...) as variant dim Ansa(2,1) as variant Ansa(1,1)=FuncA(...) .. .. Ansa(2,1)=Funcb(...) FuncC=Ansa end Function and array enter (Control-Shift-Enter) FuncC into 2 cells Charles ___________________________________ The Excel Calculation Site http://www.decisionmodels.com "Mallick" wrote in message ... Thanks Nigel for your quick reply. The relationship between the two function is such that the output of function B helps Function A to reach a decision. These cannot be combined because of the limitation of Functions. It passes one value to its calling cell only. Hence, a Function can not do any other operation or pass value to any other cell in the worksheet. Its infact hell of a restriction. Can't use subroutine because of interface problems with other software. Mallick "Nigel" wrote: If you have two dependent functions (and it sounds like you have) then consider combining these to avoid any unwanted interactions. Introducing delays does not sound like a very good solution to me. -- Regards, Nigel "Mallick" wrote in message ... Hi Every One There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Assuming you want to return 2 values to range C3:C4 9 (2 rows, 1 column)
then Ansa needs to be dimensioned as 2 rows and 1 column: Dim Ansa(2,1) as variant Then Ansa(1,1) should contain the value you want to return to C3, and Ansa(2,1) should contain the value you want to return to C4, and to enter the function into the worksheet you need to select cells C3 and C4, type the formula =FuncC(...) and then press Control-Shift-Enter all at the same time. The formula should then show up as an array formula with curly brackets: {=FuncC(...)} Of course you can extend this approach so that the function returns a number of columns and a number of rows. Charles ___________________________________ The Excel Calculation Site http://www.decisionmodels.com "Mallick" wrote in message ... Thanks Charles for your post. The first option gives a circular reference error as Function A already refers to Function B. Your second option is new to me as previously thought that 1 Function can only return one value. Can you please explain that a bit more? specially the subscripts in Ansa. Many Thanks "Charles Williams" wrote: why not make function B dependent on the results of Function A? Cell A1 contains =FuncA( ...) Cell B10 contains =FuncB(A1, ...) Or if you want to have a function that returns 2 values Function FuncC( ...) as variant dim Ansa(2,1) as variant Ansa(1,1)=FuncA(...) .. .. Ansa(2,1)=Funcb(...) FuncC=Ansa end Function and array enter (Control-Shift-Enter) FuncC into 2 cells Charles ___________________________________ The Excel Calculation Site http://www.decisionmodels.com "Mallick" wrote in message ... Thanks Nigel for your quick reply. The relationship between the two function is such that the output of function B helps Function A to reach a decision. These cannot be combined because of the limitation of Functions. It passes one value to its calling cell only. Hence, a Function can not do any other operation or pass value to any other cell in the worksheet. Its infact hell of a restriction. Can't use subroutine because of interface problems with other software. Mallick "Nigel" wrote: If you have two dependent functions (and it sounds like you have) then consider combining these to avoid any unwanted interactions. Introducing delays does not sound like a very good solution to me. -- Regards, Nigel "Mallick" wrote in message ... Hi Every One There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If function B refers to function A's cell, it will update after function A
updates that cell. -- __________________________________ HTH Bob "Mallick" wrote in message ... Thanks Nigel for your quick reply. The relationship between the two function is such that the output of function B helps Function A to reach a decision. These cannot be combined because of the limitation of Functions. It passes one value to its calling cell only. Hence, a Function can not do any other operation or pass value to any other cell in the worksheet. Its infact hell of a restriction. Can't use subroutine because of interface problems with other software. Mallick "Nigel" wrote: If you have two dependent functions (and it sounds like you have) then consider combining these to avoid any unwanted interactions. Introducing delays does not sound like a very good solution to me. -- Regards, Nigel "Mallick" wrote in message ... Hi Every One There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Bob for your post.
Tried that but it gave circular reference error as Function A already refers to Function B. "Bob Phillips" wrote: If function B refers to function A's cell, it will update after function A updates that cell. -- __________________________________ HTH Bob "Mallick" wrote in message ... Thanks Nigel for your quick reply. The relationship between the two function is such that the output of function B helps Function A to reach a decision. These cannot be combined because of the limitation of Functions. It passes one value to its calling cell only. Hence, a Function can not do any other operation or pass value to any other cell in the worksheet. Its infact hell of a restriction. Can't use subroutine because of interface problems with other software. Mallick "Nigel" wrote: If you have two dependent functions (and it sounds like you have) then consider combining these to avoid any unwanted interactions. Introducing delays does not sound like a very good solution to me. -- Regards, Nigel "Mallick" wrote in message ... Hi Every One There are two user defined VBA functions in my Excel sheet. The logic is such that it requires the functions to be executed in a sequence. For example. Function A should run and then Function B should be executed. However, Excel fires both functions simultanously, causing problems. One possible solution that comes to my mind is a time delay of a fraction of second for Function B. In this way, Function A can be executed before Function B. Can any one help me how to achieve this? Or Alternatively, if you have got some other option, please share it with me. Many Thanks Mallick |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Delay Calculation of Worksheet Functions | Excel Worksheet Functions | |||
time delay | Excel Programming | |||
VBA Code execution delay | Excel Programming | |||
Time Delay in VBA | Excel Programming | |||
Time Delay | Excel Programming |