I have some very large spreadsheets with many Boolean formulas (nested IFs, cell value comparisons, etc.). I am looking for an alternative to the methodology of Copying a range (i.e "Selection.Copy") followed by using the PasteSpecial function (i.e. "Selection.PasteSpecial Paste:=xlPasteValues"). This methodology works, but it is taking hours to to process, even when I turn off screen updating and automatic calculation.
I have been able to use an extremely efficient technique of equating the elements of an array to the values in a range (i.e. " Array = Range(x, y).Value") then equating the values in a target range back to the elements of the array (i.e. " Range(X, Y).Value = Array").
This works extremely fast in resolving all of the formulas when the cell formulas are merely mathematical equations that reference values in other cells. However, when the cell formulas include Boolean logic and comparisons, this VBA technique results in merely keeping or moving the original formulas from the source range to the target range.
Ironically, the cell displays on the spreadsheet grid already have all of the formulas resolved. Is there a VBA method to efficiently capture the display values rather than the Formula Window values from a range?
Note: Environment is Windows XP and Microsoft Office 2003.
Thank you for your help.
Bookmarks