【发布时间】:2020-01-30 01:49:10
【问题描述】:
我很难将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)我认为这将返回单元格中的值,您需要它的地址,例如单元格(1,1)将返回一个值,其中单元格(1,1 ).address 将返回 $A$1 -
我喜欢简单的答案!成功了!
标签: vba excel-formula excel-r1c1-notation