Excel VBA:自动填充公式的代码,无论左侧列的长度是多少(因此不需要指定范围)

Posted

技术标签:

【中文标题】Excel VBA:自动填充公式的代码,无论左侧列的长度是多少(因此不需要指定范围)【英文标题】:Excel VBA: Code to Autofill formula to whatever the length of the column to the left is (so no specified range is required) 【发布时间】:2016-04-26 18:00:02 【问题描述】:

我正在制作一个宏,我试图自动填充一个公式,但是当我自动填充它时,它在代码中指定了一个特定的范围,而不是如果我将它应用到一个列表中通常会工作的代码更多或更少的记录。目前的代码如下:

ActiveCell.FormulaR1C1 = "=RC[-3]*RC[-1]"
 Range("S11").Select
Selection.AutoFill Destination:=ActiveCell.Range("A1:A1846")

但我想这样做,以便将其复制到最后一行,其值位于左侧列中,这样它不会复制到 A1846,而是根据列表的长度复制到任意长度整体?

【问题讨论】:

我会尝试动态确定目标范围,将其存储在变量中,然后将变量传递给Destination:= 参数。这是一个开始:excel-easy.com/vba/examples/offset.htmlexcel-easy.com/vba/examples/from-active-cell-to-last-entry.html 【参考方案1】:

我假设您在 Cell(B1) 上有一个公式,并且 A 列中有一些条目。 如果我理解正确,那么您的代码将是这样的,

Sub autofill()

Dim Last_Row_Left As Integer 'Long if too high.
Last_Row_Left = Range("A66450").End(3).Row
Range("B1").Copy

Range(Cells(2, 2), Cells(Last_Row_Left, 2)).PasteSpecial

End Sub

您可以使用 FormulaRC 将其编辑为您自己的作品。

【讨论】:

以上是关于Excel VBA:自动填充公式的代码,无论左侧列的长度是多少(因此不需要指定范围)的主要内容,如果未能解决你的问题,请参考以下文章

Excel 自动填充和调整公式

Excel VBA自动填充只返回公式

在 Excel VBA 中对一系列单元格使用自动填充

自动填充 Application.Countifs.Formula VBA Excel

应用公式,然后自动填充数据,直到列中的最后一个可见单元格:VBA

Excel VBA 跨列自动填充