我正在尝试创建一个每隔几列都有小计的表。我的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)是此部分的开始和结束行。我在宏的其他部分使用它们,并且当新项目放在一个类别下时它们会被更新。
当我运行它时,它给我一个错误。有任何想法吗?
答案 0 :(得分:0)
我认为您需要将构建公式作为字符串,而不是让它引用您的Variant
数组。怎么样:
Sheets("Sheet1").Cells(FI(2), 3).FormulaR1C1 = _
"=SUBTOTAL(9,R[1]C:R[" _
& CStr(FI(3)-FI(2)) _
& "]C)"
这假设结果字符串是你想要计算的......