SUM公式VBA

use*_*383 1 excel vba formula excel-vba

我试图计算vba中改变单元格范围的总和.不幸的是,单元格值是变量.我似乎无法使用以下公式.

Private Sub calcOverheadRate(startCell As Integer, endCell As Integer)
     Total = endCell + 1
     Range("D" & Total).Formula = "=SUM("D" & startCell & ":" & "D" & endCell)"
End Sub
Run Code Online (Sandbox Code Playgroud)

我得到编译错误:"预期:结束语句

为了解决这个问题,我将功能更改为,

Private Sub calcOverheadRate(startCell As Integer, endCell As Integer)

    Dim start As String
    Dim endC As String

    start = "D" & CStr(startCell)
    endC = "D" & CStr(endCell)

    Total = endCell + 1

    Range("D" & Total).Formula = "=SUM(start:endC)"

End Sub
Run Code Online (Sandbox Code Playgroud)

函数编译得很好,当我运行它时,单元格中的值是"#NAME",它引用的SUM(start:endC)不是SUM(D5:D23)....

任何关于如何解决这个问题的想法将不胜感激.

Sea*_*anC 5

报价是问题:
Range("D" & Total).Formula = "=SUM(" & startCell & ":" & endCell & ")"