SUM公式VBA

时间:2012-07-05 03:25:36

标签: excel vba excel-vba formula

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

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

我收到编译错误:“预期:声明结束

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

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

该函数编译正常,当我运行它时,单元格中的值为“#NAME”,它引用SUM(start:endC)而不是SUM(D5:D23) ....

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

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

我已经发现问题&需要在字符串文字的引号内

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

答案 2 :(得分:0)

你尝试使用桌子怎么样?

enter image description here

这是关于如何在Excel中制作表格的1分钟视频:

http://www.screenr.com/VvZ8