我有一个将数据导出到Excel工作表的应用程序。用户可以在导出数据之后向excel表添加一些公式,就像他可以=sum(o1:o12)
一样,并将结果放在o13
中。用户还可以选择将数据重新导出到同一工作表。可能会发生什么......根据某些条件,可能会导出更多或更少的行。例如....
上次有12行,所以用户将公式放在第13行,但这次20行可能会被导出,所以excel应该能够将公式从o13
单元格移动到o21
并且应该更新公式从=sum(o1:12)
到=sum(o1:20)
。在其他情况下...只有5行可能从应用程序导出,因此公式应该转移到o6
单元格,公式应该已更新为=som(o1:o5)
。
有没有办法让excel以编程方式执行此操作?
答案 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
列中的最后一个单元格是和公式。
这应该可行,但如果不是
,请不要犹豫