FormulaR1C1动态参考

时间:2018-06-13 15:49:02

标签: excel vba excel-vba

我在将工作表2中的数据引用回工作表1(这是一个摘要选项卡)时遇到问题。

我想引用A列的最后一行,其中包含返回到Sheet 1的单元格A1的总和,但问题是每个报告上的行数不同(因为这是动态的)。

如何使以下公式动态化?

ActiveCell.FormulaR1C1 = "=Sheet2!R[-23]C"

2 个答案:

答案 0 :(得分:1)

将行数作为变量传递,如下所示:

Sub TestMe()

    Dim numberOfRows As Long

    numberOfRows = -12        
    ActiveCell.FormulaR1C1 = "=Sheet2!R[" & numberOfRows & "]C"

End Sub

答案 1 :(得分:0)

喜欢这个吗?

EBS

Sheet 2中!是确保公式在单元格中应用时引用sheet2。

然后

Option Explicit
Public Sub TEST()
    With Worksheets("Sheet2")
        Worksheets("Sheet1").Range("B12").Formula = "=Sheet2!" & .Range("H" & .Cells(.Rows.count, "H").End(xlUp).Row).Address
    End With
End Sub

通过从工作表底部开始,找到工作表2的H列中的最后一行。