Arrays 对数组的特定列进行计算

Arrays 对数组的特定列进行计算,arrays,excel,vba,Arrays,Excel,Vba,我只在特定列中具有特定值的行上使用特定于表的数据填充动态数组。在这之前,没有问题。不过,我无法执行涉及整个列(并且仅涉及该列)的操作 我考虑过这样的事情 Dim arr as variant Dim avg as double Dim i as integer i = InputBox( "The column I want to calculate the average of") avg = Application.Worksheetfunction.Average(arr.column(

我只在特定列中具有特定值的行上使用特定于表的数据填充动态数组。在这之前,没有问题。不过,我无法执行涉及整个列(并且仅涉及该列)的操作

我考虑过这样的事情

Dim arr as variant
Dim avg as double
Dim i as integer
i = InputBox( "The column I want to calculate the average of")
 avg = Application.Worksheetfunction.Average(arr.column(i))
有可能吗?

您只需将“列”更改为“列”

解决方案:

avg = Application.Worksheetfunction.Average(arr.columns(i))

另一种可能性,更糟糕的是我使用的代码是:


avg=application.worksheetfunction.average(application.index(array,0,i))–

您有一些示例数据吗?以及预期输出和当前结果。我做到了!我使用的代码是:avg=application.worksheetfunction.average(application.index(array,0,i))@FilippoMhri现在已经解决了这个问题。你可以结束你的问题,或者更好,写下你的评论作为答案并接受它吗?这是如何工作的?我不能让它与数组一起工作你是在计算数组的平均值吗?只需执行以下操作:
Application.Worksheetfunction.Average(ArrayName)
这在非2D数组上不起作用,这正是问题所在