public CellRangeAddress GetArrayFormulaRange() { if (_sharedFormulaRecord != null) { throw new InvalidOperationException("not an array formula cell."); } CellReference expRef = _formulaRecord.Formula.ExpReference; if (expRef == null) { throw new InvalidOperationException("not an array formula cell."); } ArrayRecord arec = _sharedValueManager.GetArrayRecord(expRef.Row, expRef.Col); if (arec == null) { throw new InvalidOperationException("ArrayRecord was not found for the locator " + expRef.FormatAsString()); } CellRangeAddress8Bit a = arec.Range; return(new CellRangeAddress(a.FirstRow, a.LastRow, a.FirstColumn, a.LastColumn)); }