有一个选项对您来说可能很有趣。您可以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"))