自动归档公式到单列的最后一行

时间:2017-08-25 15:51:30

标签: excel excel-vba vba

我需要不断从单元格R2开始并自动填充公式到R列的最后一行。但是,行数不断变化所以我需要编写一个查找最后一行并停止它们的宏。我已经尝试过这段代码,但一直都会遇到错误。有什么想法吗?

Sub InvoicePrice()

Dim Lastrow As Long

Lastrow = Range("R" & Rows.Count).End(xlUp).Row

Range("R2").Select
ActiveCell.FormulaR1C1 = "=RC[-2]/RC[-4]"
Selection.AutoFill Destination:=Range("R2" & Lastrow)

2 个答案:

答案 0 :(得分:0)

您收到的错误是由Range("R2" & Lastrow)

引起的

如果最后一行是1400,则范围地址连接到R21400。因此我们需要将:R添加到地址。

Range("R2:R" & Lastrow)

它现在将连接到R2:R1400

没有必要用三行来做,一个就足够了:

Sub InvoicePrice()

Dim Lastrow As Long

Lastrow = Range("P" & Rows.Count).End(xlUp).Row

Range("R2:R" & Lastrow).FormulaR1C1 = "=RC[-2]/RC[-4]"

End Sub

答案 1 :(得分:0)

不确定您是否已尝试过此操作:

Sub InvoicePrice()

Dim Lastrow As Long

Lastrow = Range("P2").End(xlDown).Row

Range("R2").Select
    ActiveCell.FormulaR1C1 = "=RC[-2]/RC[-4]"
    Selection.AutoFill Destination:=Range("R2" & Lastrow)

在我看来,Range("R" & Rows.Count)将您排除在当前区域之外