vba中的相对参考小计公式



我正在尝试制作一个每隔几列就有小计的表。我的vba代码带来和排序数据从另一张表到部分,现在我正试图编写代码有小计公式。以下是我的内容:

Sub Macro21()
Dim FI(1 To 3) As Variant
FI(1) = "Fixed Income"
FI(2) = 10
FI(3) = 21
Sheets("Sheet1").Cells(FI(2), 3).FormulaR1C1 = "=SUBTOTAL(9,R[1]C:R[FI(3)-FI(2)]C)"
End Sub

FI(2)和FI(3)是这个section的开始行和结束行。我在宏的其他部分使用它们,当新项目被放在一个类别下时,它们会被更新。

当我运行这个时,它给了我一个错误。什么好主意吗?

我认为你需要构建公式作为一个字符串,而不是使它引用你的Variant数组。如何:

Sheets("Sheet1").Cells(FI(2), 3).FormulaR1C1 = _
     "=SUBTOTAL(9,R[1]C:R[" _
   & CStr(FI(3)-FI(2)) _
   & "]C)"

假设结果字符串是您想要计算的…

最新更新