如何在 VBA 中自动填充函数?

Posted

技术标签:

【中文标题】如何在 VBA 中自动填充函数?【英文标题】:How to autofill a function in VBA? 【发布时间】:2019-06-11 20:01:01 【问题描述】:

我正在尝试自动填充并找到问题的代码,但是,在自动填充完成其操作后,所有单元格都会产生与原始单元格相同的结果。

Sub Button2_Click()


Range("P2").Value = Application.Sum(Range(Cells(2, 18), Cells(2, 40)))

Range("P2").Select
Selection.AutoFill Destination:=Range("P2:P5"), Type:=xlFillDefault

End Sub

【问题讨论】:

Application.Sum 返回值。如果您想自动填充,或许可以考虑使用公式或循环。 FWIW 而不是Range("P2").Select,后跟Selection.Something,执行Range("P2").Something。不要Select 的东西,你不需要。 【参考方案1】:

我不确定您到底在寻找什么,但如果您想使用 SUM 函数,也许是这个单行:

Range("P2:P5").Formula = "=SUM(Q2:AN2)"

公式可以一次性写入范围,不用AutoFill

如果您只想要值,则添加第二行以将公式转换为值:

Range("P2:P5").Value = Range("P2:P5").Value

【讨论】:

以上是关于如何在 VBA 中自动填充函数?的主要内容,如果未能解决你的问题,请参考以下文章

VBA - 如何自动填充到底部,直到最后一个 B 单元格包含数据

如何使用不同的变量在 VBA 中自动填充范围

如何自动填充公式 VBA

如何使用 VBA 动态自动填充目标?

Excel VBA 跨列自动填充

Excel VBA 自动填充问题