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:自动填充公式的代码,无论左侧列的长度是多少(因此不需要指定范围)的主要内容,如果未能解决你的问题,请参考以下文章
自动填充 Application.Countifs.Formula VBA Excel