我的问题如下: 如果我有一个带静态起点的列让我们说A3和一个动态终点,让我们说A827或任何其他数字,那么获得这一列总和的正确方法是什么?
我的想法如下:
xl.Range sumcell;
sumcell = xlNewSheet.Cells[xlNewSheet.Rows.Count, 1].End(xl.XlDirection.xlUp).Offset[1,0];
sumcell.Formula = xl.WorksheetFunction.Sum(xlNewSheet.Range["A3"], xlNewSheet.Range["A3"].End(xl.XlDirection.xlDown));
我的第二个想法如下:
xl.Range sumStart = xlApp.get_Range("A3");
xl.Range sumEnd = xlNewSheet.Cells[xlNewSheet.Rows.Count, 1].End(xl.XlDirection.xlUp);
xl.Range totalCell = sumEnd.Offset[1, 0];
totalCell.Formula = "=SUM(" + sumStart + ":" + sumEnd + ")";
任何人都可以告诉我,如果我走在正确的轨道上,或者我是否需要重新考虑这个想法? 任何形式的帮助都将非常感激。
答案 0 :(得分:1)
我已经自己解决了这个问题。如果有人可能需要/找到这个有用的,这里是:
sumEnd = xlNewSheet.Cells[xlNewSheet.Rows.Count, 1].End(xl.XlDirection.xlUp);
xl.Range totalCell = xlNewSheet.Cells[xlNewSheet.Rows.Count, 1].End(xl.XlDirection.xlUp).Offset[1, 0];
totalCell.Formula =xlApp.WorksheetFunction.Sum(xlNewSheet.Range[xlNewSheet.Range["A3"], sumEnd]);
原来我不需要在它开始的地方创建一个excel范围!