填写公式直到列中的最后一行

Posted

技术标签:

【中文标题】填写公式直到列中的最后一行【英文标题】:Fill down formula till last row in column 【发布时间】:2020-05-28 16:37:48 【问题描述】:

我在单元格 K2 中有一个公式 (I2-J2),我希望 Excel 将其复制到我的数据集的最后一行。所以取K2中的公式,复制到K3、K4、K5等。哪一行是最后一行,每个月都会根据数据集动态变化,所以我不能使用固定值。

我已经在类似的帖子中尝试过其他解决方案:Fill formula down till last row in column,但不幸的是没有奏效。

Sub Autofill()
Dim LastRow As Long
LastRow = Range("K" & Rows.Count).End(xlUp).Row
Range("K2:K" & LastRow).Formula = I2 - J2
End Sub

宏已经在单元格 K2 中停止,这不是我的数据集的结尾,甚至公式给出了错误的结果 0 而不是 I2 中的值减去 J2 中的值

我在这里做错了什么?

非常感谢!

【问题讨论】:

公式应该用引号括起来:Range("K2:K" & LastRow).Formula = "=I2 - J2" 【参考方案1】:

这应该是你需要的:

Sub AutoPhill()
    Dim N As Long
    N = Cells(Rows.Count, "J").End(xlUp).Row
    Range("K2:K" & N).Formula = "=I2-J2"
End Sub

注意公式地址为每一行调整。

【讨论】:

哦,哇,非常感谢,这正是我想要的。非常感谢!

以上是关于填写公式直到列中的最后一行的主要内容,如果未能解决你的问题,请参考以下文章

如何使用变量“最后一行号”来设置另一列中的范围

vba代码中的数组公式与应对公式

excel 指定某一行到最后一行求和的公式

Arrayformula 返回多行中的最后一个非空单元格

vba中的数学方程

excel中怎么将一列中的第一行和最后一行互换,第二行和倒数第二行互换,依次类推