ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Calculation woes.... (https://www.excelbanter.com/excel-programming/381688-calculation-woes.html)

Brad

Calculation woes....
 
My VBA code has a line where it populates an array with the results of an
array formula:

Selection.FormulaArray = MyFirstFormula

and, then another,

Selection.FormulaArray = MySecondFormula

My issue is that these steps are actually retrieving stock data from a
connected service, and sometimes the two arrays are populated almost
immediately, and at other times, it cogitates for a few seconds or even
longer. Well for those times when it isn't immediate, in the meantime my VBA
code drops down to execute the next line of code and attempts to calculate a
cell value based on inputs from the previously mentioned arrays which then
only may have #NA cell values. The result is a run-time error since no data
has yet populated the arrays in these instances.

So, I have tried a few things like "application.wait," just to pass some
time to let the code execution steps pause until the arrays are given a
chance to populate before it executes the next line of code, but what it
seems to also do is stop the Selection.FormulaArray processes, so I gain no
edge there. The application.wait doesn't seem to just stop the forward
execution of code steps, it appears to stop the whole procedure.

Is there a coding solution back up at the Selection.FormulaArray lines where
I can force the program to not leap ahead until the arrays are populated?

My thanks in advance for any ideas on a direction here.

Brad




Don Guillett

Calculation woes....
 

You didn't post your code but I suggest you take a look in the vba help
index for
enableevents

application.enableevents=false
code
application.enableevents=true
--
Don Guillett
SalesAid Software

"Brad" wrote in message
...
My VBA code has a line where it populates an array with the results of an
array formula:

Selection.FormulaArray = MyFirstFormula

and, then another,

Selection.FormulaArray = MySecondFormula

My issue is that these steps are actually retrieving stock data from a
connected service, and sometimes the two arrays are populated almost
immediately, and at other times, it cogitates for a few seconds or even
longer. Well for those times when it isn't immediate, in the meantime my
VBA code drops down to execute the next line of code and attempts to
calculate a cell value based on inputs from the previously mentioned
arrays which then only may have #NA cell values. The result is a run-time
error since no data has yet populated the arrays in these instances.

So, I have tried a few things like "application.wait," just to pass some
time to let the code execution steps pause until the arrays are given a
chance to populate before it executes the next line of code, but what it
seems to also do is stop the Selection.FormulaArray processes, so I gain
no edge there. The application.wait doesn't seem to just stop the forward
execution of code steps, it appears to stop the whole procedure.

Is there a coding solution back up at the Selection.FormulaArray lines
where I can force the program to not leap ahead until the arrays are
populated?

My thanks in advance for any ideas on a direction here.

Brad







All times are GMT +1. The time now is 05:21 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com