首页 > 解决方案 > 连接字符串以在 VBA 中构建公式

问题描述

我试图构建 VBA 代码来输入一个公式来总结一个范围。

我想要单元格 E30 中的公式

=SUM(E10:E20)
Sub calTotalOneOffExpense()

Dim startRow As Integer
Dim endRow As Integer
startRow = 10
endRow = 20

Range("E30:E30").Select
Dim sFormula As String

sFormula = "=Sum(E" & startRow & ":E" & endRow & ")"
ActiveCell.FormulaR1C1 = _
        sFormula

End Sub

E30 中的公式变为

=SUM('E10':'E20')

标签: excelvba

解决方案


我认为您不了解 Formula 和 FormulaR1C1 之间的区别。你应该研究文档。公式需要 A1 样式的表示法。

ActiveCell.Formula = "=Sum(E" & startRow & ":E" & endRow & ")"

FormulaR1C1 需要 R1C1 样式的表示法

ActiveCell.FormulaR1C1 = "=Sum(R" & startRow & "C5:R" & endRowRow & "C5)"

这相当于

ActiveCell.Formula = "=Sum($E$10:$E$20)"

推荐阅读