View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_3_] Dave Peterson[_3_] is offline
external usenet poster
 
Posts: 2,824
Default SheetChange event starts before .calculate finished

I've never seen xl behave this way.

Is there some chance that something else is happening?

Maybe when you store your information???

If you store your info in the same workbook (different worksheet), does your
store_db procedure turn off application.enableevents?



Nils M wrote:

In my application code the change event of the worksheets is used to
store the values of the changed cells in a database.

Unfortunately if the user enters a formula in one cell and goes
directly to another cell e.g with the cell dows key, the calculation of
the formula is not completed before the event handler is fired and the
value of the cell is set to "0" although the formula property is
already updated. This effect can only be reproduced on slow machines
(like my PC).

Any idea how to force Excel to complete the calculation of the changed
range?

My second idea is to read the formula property and calculate it in the
code. But I havenot found a solution for this without writing a
complete parser for all Excel formulas.

Kind regards,

Nils

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)

Target.Calculate
'v = Target.Value = "0"
Call store_db(Sh.Index, Target)

End Sub


--

Dave Peterson