以编程方式移动excel公式

时间:2011-01-18 12:17:14

标签: excel move formula

我有一个将数据导出到Excel工作表的应用程序。用户可以在导出数据之后向excel表添加一些公式,就像他可以=sum(o1:o12)一样,并将结果放在o13中。用户还可以选择将数据重新导出到同一工作表。可能会发生什么......根据某些条件,可能会导出更多或更少的行。例如.... 上次有12行,所以用户将公式放在第13行,但这次20行可能会被导出,所以excel应该能够将公式从o13单元格移动到o21并且应该更新公式从=sum(o1:12)=sum(o1:20)。在其他情况下...只有5行可能从应用程序导出,因此公式应该转移到o6单元格,公式应该已更新为=som(o1:o5)

有没有办法让excel以编程方式执行此操作?

1 个答案:

答案 0 :(得分:0)

LastRow = Range("O65535").End(xlUp).Row将返回O列中最后一个填充单元格的编号。

接下来要做的是:

Range("O" & LastRow+1).Value = "=Sum(O1:O" & LastRow & ")"
Range("O" & LastRow+1).formula = "=Sum(O1:O" & LastRow & ")" will work as well.

最后,当您使用LastRow = Range("O65535").End(xlUp).Row时,请注意O列中的最后一个单元格是和公式。

这应该可行,但如果不是

,请不要犹豫