我使用以下代码汇总不同列中的所有数字。公式总是给我错误的答案。请帮忙!感谢
Sub TOTALVALNEW(colNumber As Integer)
Dim StartOfTheRANGE As Range
Dim EndOfTheRange As Range
Set StartOfTheRANGE = Evaluation.Cells(3, colNumber)
Set EndOfTheRange = StartOfTheRANGE.End(xlDown)
'Evaluation is the name of the sheet.
Evaluation.Cells(3, colNumber).End(xlDown).Offset(1, 0) = Application.Sum(StartOfTheRANGE, EndOfTheRange)
End Sub
答案 0 :(得分:2)
VBA的Application.Sum
与单元格公式中的工作表函数SUM()
完全相同。它需要一个对象或一个对象列表。如果指定两个对象,即第一个和最后一个单元格,它将只取内容的第一个和最后一个单元格的值(一个2项和),而不是两者之间的任何值。如果要在第一个单元格和最后一个单元格之间包含所有单元格,则需要使用Range()
函数创建范围对象。所以改为:
Evaluation.Cells(3, colNumber).End(xlDown).Offset(1, 0) = Application.Sum(Range(StartOfTheRANGE, EndOfTheRange))
应该有用。