【发布时间】:2014-02-05 06:51:04
【问题描述】:
我正在 VBA 中编写一个宏来获取 Excel 2007 中某个范围的值的总和。但是,每当我尝试键入以下代码时:
sum = Application.Sum(Range("C2:C19")
编辑器把它变成:
sum = Application.sum(Range("C2:C19")
由于我不确定它们之间的区别,所以我在立即窗格中使用 Print 语句尝试了它们。带有 Application.sum 的那个给了我错误的总和,而带有 Application.Sum 的那个给了我正确的总和。但由于编辑器自动将 Sum 更改为 sum,我无法继续进行。谁能告诉我这里发生了什么?
【问题讨论】:
-
将变量名从
sum更改为,例如mySum然后再次尝试输入代码。或者尝试使用WorksheetFunction.Sum(Range("C2:C19")) -
我将
sum更改为transSum,但问题仍然存在。我需要一个变量中的总和,WorksheetFunction.Sum()会做到这一点,我的意思是它向工作表中添加了函数,对吧? -
WorksheetFunction.Sum()和Application.Sum()的工作方式几乎相同,它们在返回错误时需要处理的方式不同。试试WorksheetFunction.Sum()。 -
是的,它有效!非常感谢先生。
标签: excel vba excel-2007