Excel 如何在VBA中用变量行填充公式列

Excel 如何在VBA中用变量行填充公式列,excel,vba,loops,excel-formula,Excel,Vba,Loops,Excel Formula,我希望使用一个for循环,用一个带有可变行的公式填充一个特定的列。我总是遇到一系列全球性的失败问题。如果有人能帮我,那太好了,谢谢 For i = 3 To lastrow With Sheets(1) .Range("H:" & i).Formula = "=SUM(C" & i & ";E" & i & ";G" & i &")" End With Next i 删除“H”后的冒号(H3而不是H:3是

我希望使用一个for循环,用一个带有可变行的公式填充一个特定的列。我总是遇到一系列全球性的失败问题。如果有人能帮我,那太好了,谢谢

For i = 3 To lastrow
    With Sheets(1)
        .Range("H:" & i).Formula = "=SUM(C" & i & ";E" & i & ";G" & i &")"
    End With
Next i
  • 删除“H”后的冒号(H3而不是H:3是正确的语法)

  • 在VBA中,公式使用逗号而不是分号,无论您的本地名称是什么 设置(或使用
    FormulaLocal

  • 你可以避免循环


您可以使用
.FillDown
来完成您需要的操作,并避免
循环
,这会占用更多的时间和CPU

Range("H3").Value="=SUM(C3,E3,G3)"
Range("H3:H" & lastrow).FillDown
输出<强>之前<强>

之后


非常感谢您的回答!正是我想要的。我没想到在第4行之后,它会按照匹配的行填充。谢谢你的回答。如果我理解正确,.filldown相当于双击单元格右下角的正方形?@Skepie当然可以,我想这是做你需要的事情的正确方法
Range("H3").Value="=SUM(C3,E3,G3)"
Range("H3:H" & lastrow).FillDown