private Integer SetVerticalCellRange(LinkedDataRecord linkedDataRecord, CellRangeAddressBase range) { if (linkedDataRecord == null) { return null; } List<Ptg> ptgList = new ArrayList<Ptg>(); int rowCount = (range.GetLastRow() - range.GetFirstRow()) + 1; int colCount = (range.GetLastColumn() - range.GetFirstColumn()) + 1; for (Ptg ptg : linkedDataRecord.GetFormulaOfLink()) { if (ptg is AreaPtgBase) { AreaPtgBase areaPtg = (AreaPtgBase) ptg; areaPtg.SetFirstRow(range.GetFirstRow()); areaPtg.SetLastRow(range.GetLastRow()); areaPtg.SetFirstColumn(range.GetFirstColumn()); areaPtg.SetLastColumn(range.GetLastColumn()); ptgList.Add(areaPtg); } } linkedDataRecord.SetFormulaOfLink(ptgList.ToArray(new Ptg[ptgList.Size()])); return rowCount * colCount; }