How do you get spreadsheet data in Excel to recalculate itself from within VBA, without the kluge of just changing a cell value?
You might also try
Application.CalculateFull
or
Application.CalculateFullRebuild
if you don't mind rebuilding all open workbooks, rather than just the active worksheet. (CalculateFullRebuild rebuilds dependencies as well.)
CalculateFullRebuild