对多维数组的特定范围的元素求和

时间:2018-08-14 13:11:56

标签: excel vba excel-vba

如何在不使用For... Next语句的情况下求和多维数组的特定范围的元素?

我知道如何使用一维数组。例如,下面的代码:

Dim GRMORT(1 to 864) As Double
Dim PSUM as Double
PSUM = Application.Sum(Application.Index(GRMORT, 1, Evaluate("ROW(100:200")")))

返回第100至200个元素的总和。但是,如果我使用二维数组:

Dim GRMORT(1 to 864, 1 to 24) As Double

该功能不起作用。我以为它必须与Index函数的第二个参数一起使用,所以我尝试将其更改为23,...但这不是解决方案。

如何更改Index函数以获取第四列(或任何其他列)的第100至200个元素的总和?

1 个答案:

答案 0 :(得分:3)

只需提供列参数:

Dim GRMORT(1 To 864, 1 To 5) As Double
Dim PSUM As Double
PSUM = Application.Sum(Application.Index(GRMORT, Evaluate("ROW(100:200)"), 4))