有一个选项对您来说可能很有趣。您可以SUM
通过WorksheetFunction
对象从 VBA 调用工作表函数。这个怎么运作?
根据您的示例,您可以通过以下方式获得R1C1
& R3C2
(A1 & B3) 的总和:
Dim Total As Integer
Total = WorksheetFunction.Sum(Range("A1,B3"))
如您所见,需要使用Range object
对需要总结的单元格的引用。你不能R1C1
在这里使用引用。但我认为这不是问题。
还有一个提示。也可以这样称呼它:
Dim Total As Integer
Total = Application.Sum(Range("A1,B3"))
上面两个例子最大的不同是错误处理的方式。使用WorksheetFunction
- 任何错误都将停止您的程序,使用Application
-error 将作为没有程序制动的文本抛出。
另一个提示——如果你写WorksheetFunction.
(最后的点是必不可少的),你会得到大约 200 个可用函数的列表。如果您从 开始,Application.
则不会有函数列表,而只有Application Object
.
最后,请参阅此链接以获取有关使用WorksheetFunction
.
编辑还有一件事,这可能很明显,但要清楚。要总结从 A1 到 B3 的连续范围,您只需要很小的变化:
Dim Total As Integer
Total = WorksheetFunction.Sum(Range("A1:B3"))