VBAmacros自动填充单元格

我试图find一个简单的自动填充解决scheme,将新单元格插入后,将单元格C3中的公式复制到C2中。 以下是我认为可以奏效的内容:

Sub AutoFill() Set SourceRange = Worksheets("Sheet 1").Range("C3") Set fillRange = Worksheets("Sheet 1").Range("C2") SourceRange.AutoFill Destination:=fillRange End Sub 

基本上,在C3(第3行之后C列中的每个单元格)具有平均function,其占用前20天并创build平均值。 我试图让macrosinput公式每次一个新的行被放入(我有代码来input新行,它只是不会应用新行后进入function)

要填充的单元格。 目的地必须包含来源范围。

从MSDN引用。

所以试试:

 Set SourceRange = Worksheets("Sheet 1").Range("C3") Set fillRange = Worksheets("Sheet 1").Range("C2") SourceRange.AutoFill Destination:=Range(fillRange, SourceRange) 

另一个注意事项是使用命名范围,如果你插入行之间。

其他方法获取更新单元格引用的公式

 Option Explicit Public Sub getFormula() With Sheet1 .Range("C3").Copy .Range("C2").PasteSpecial xlPasteFormulas If .ListObjects.Count = 1 Then With .ListObjects(1) 'for tables .Cells(2, 3).Formula = .Cells(3, 3).Formula End With End If End With End Sub 

此外,您不应该使用VBA方法的名称作为子名称(自动填充)

  • 确定VBA关键字的一种快速方法是:点击子名称并按F1

    如果帮助页面显示关键字未find您的子名称应该是好的