0

我正在尝试填写 D1 中的公式并将 D 填写到 C 的长度。我正在使用以下宏,但出现以下错误 - 编译错误:预期以

Sub Macro3()

Macro3 Macro



  Range("D1").Select
  ActiveCell.FormulaR1C1 = "=RC[-2]*(-1)+RC[-1]"
  Range("D1").Select

  Dim LastRow As Long

  With Sheets("Sheet2")
  LastRow = Range("C" & Rows.Count).End(xlUp).Row
  Range("D1").AutoFill Destination:=Range("D2:D" & LastRow)
End Sub
4

1 回答 1

3

你的问题很简单。我使用宏记录器自动填充公式范围,发现目标范围以公式范围开头,所以

Range("D1").AutoFill Destination:=Range("D2:D" & LastRow)

应该:

Range("D1").AutoFill Destination:=Range("D1:D" & LastRow)

这是工作代码,既固定又清理了一点:)

Sub Macro3()

With Sheets("Sheet1")

  Dim LastRow As Long
  LastRow = Range("C" & Rows.Count).End(xlUp).Row

  With Range("D1")
    .FormulaR1C1 = "=RC[-2]*(-1)+RC[-1]"
    .AutoFill Destination:=Range("D1:D" & LastRow)
  End With

End With

End Sub
于 2012-06-27T15:42:53.560 回答