VBA - 保持单元格公式的完整性

VBA - Maintain cell formula integrity

我很难将 Indirect 公式输入到我的代码中。我知道我可以使用 FormulaR1C1,但是这会在单元格中创建一个相当静态的公式,并且在我 运行 我的代码之后添加行时不太友好。我希望我的代码类似于此单元格内公式 =SUM(L99:INDIRECT("R[-1]C",0)),它位于单元格 L106.

下面是我的代码以及我尝试创建上述公式的尝试。谢谢!

   Dim s1 As Excel.Worksheet: Set s1 = ActiveWorkbook.Worksheets(ThisWorkbook.Sheets.Count)

   With s1

        'What the current formula is
        .Cells(rwCnt, abRng.Column).Offset(4, 6).FormulaR1C1 = "=sum(R[0]C[-5],R[0]C[-2])"
        .Cells(rwCnt, abRng.Column).Offset(11, 6).FormulaR1C1 = "=Sum(R[-7]C[0]:R[-1]C[0])"

        'My attempt
        .Cells(rwCnt, abRng.Column).Offset(11, 6).Formula = "=sum(" & .Cells(rwCnt, abRng.Column).Offset(4, 6) _
            & ":INDIRECT(""R[-1]C"", 0))"

   End With

.Cells(rwCnt, abRng.Column).Offset(4, 6) 我认为这将是 return 单元格中的值,您需要它的地址

例如 cells(1,1) 会 return 一个值,其中 cells(1,1).address 会 return $A