我正在尝试计算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)
....
如何解决这个问题的任何想法将不胜感激。
答案 0 :(得分:5)
报价是问题:
Range("D" & Total).Formula = "=SUM(" & startCell & ":" & endCell & ")"
答案 1 :(得分:1)
我已经发现问题&需要在字符串文字的引号内
Range("D" & Total).Formula = "=SUM(" & start & ":" & endC & ")"
答案 2 :(得分:0)