我想让vba在同一数据集内的两个范围内创建一个公式,作为变量lastRow和lastRow2的输入。但是,当我尝试创建并计算公式时,不是获取最后一个单元格的值,而是获取零。下面问题的代码:Excel VBA-返回零值为范围的动态公式
Dim lastRow As Long
Dim lastRow2 As Long
lastRow = Range("A" & Rows.Count).End(xlUp).Row
lastRow2 = Range("M" & Rows.Count).End(xlUp).Row
...
'Calculate ATRT 2014 at cell B4
Range("B6").Formula = "=(SUM(J11:J" & lastRow & ")/ SUM(I11:I" & lastRow & "))"
Range("E6").Formula = "=(SUM(U11:U" & lastRow2 & ")/ SUM(T11:T" & lastRow2 & "))"
Range("H6").Formula = "=E6-B6"
运行此得到的两个公式:=(SUM(J11:J0)/ SUM(I11:I0))和=(SUM(U11:U0)/ SUM(T11:T0)) 。为什么范围的末尾是零?
这就是我问你的其他问题。范围都在同一张纸上吗? – findwindow
是的,范围在同一张表上,在同一张表中。 1表,但有两个不同的范围 –
嗯,你是否正在运行宏,而所需的工作表是活动?如果是这样,那我就难住了。除非你真的没有列A/M ...编辑:呵呵。即使列是空的,它仍然至少为1 ....我们需要更多的代码。 – findwindow