1

我正在尝试计算 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)......

任何有关如何解决此问题的想法将不胜感激。

4

3 回答 3

5

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

于 2012-07-05T13:24:56.817 回答
1

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

Range("D" & Total).Formula = "=SUM(" & start & ":" & endC & ")"
于 2012-07-05T03:36:01.870 回答
0

你试试用桌子怎么样?

在此处输入图像描述

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

http://www.screenr.com/VvZ8

于 2012-07-06T03:55:34.377 回答