我需要不断从单元格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)
答案 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)
将您排除在当前区域之外