Workaround Needed For Cross Platform Dynamic Array Formula Interference

Copper Contributor

Office 365 worksheet will not function in a cross platform shared environment where Concatenate ("&"), Indirect() and Cell() are used for extreme vector variable positioning of non-table lookup (conditional column and row attributes for custom ranges), not for dynamic arrays.  While this is effective in solving the dilemma of a non-sequential lookup feature in a custom report, its functionality is complicated by the presence of Implicit Intersection ("@") and curly braces ("{ }") in versions that return #Name, and #Ref, respectively.  This is especially troublesome for older platforms when the older version Excel is "infected" with the update from shared content across a small business platform.  For example, VBA execution results in abnormal termination of code - even with "On Error" error checking, or, "skips" arguments that try to store cell content.  Office 365 emulated on the Mac, with its non-MS keyboard arrangement and unaccounted Sandbox programming, requires extra steps like specifying what cell is selected and storing results of a condition in a cell for certain operations.  Which is a catch-22 if VBA code cannot recognize the value when sharing data on an older version of Excel? How can VBA force a cell to be non-dynamic without the use of user intervention and without the use of "@"?  

 

The following arguments fail to remove the curly braces from dynamic array formula conflicts:

    ActiveCell.Formula = ActiveCell

    Cells.Replace What:="{", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, _

        MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    

0 Replies