是否可以 运行 数组而不是单元格范围的工作表函数?
Is it possible to run worksheet functions on arrays rather than cell ranges?
例如,不是在下面的示例中查找单元格范围的标准差,而是可以将相同的函数应用于数组的元素吗?
我可以将所有数组元素复制到一个工作 sheet,但希望有一个更干净的解决方案。
Set myRange = ActiveSheet.Range("h3:bm3")
answer = Application.WorksheetFunction.StDev(myRange)
是的,StDev
可以与数组一起使用。
一维数组:
Dim x As Variant
x = Array(1, 2, 3, 4)
Debug.Print WorksheetFunction.StDev(x) ' returns 1.29099444873581
二维数组:
Dim x As Long
ReDim x(1 To 10, 1 To 10)
Dim i As Long, j As Long
For i = 1 To 10
For j = 1 To 10
x(i, j) = i
Next
Next
Debug.Print WorksheetFunction.StDev(x) ' returns 2.88675134594813
Arguments of StDev can either be numbers, arrays, or references that
contain numbers.
根据此帮助信息,应该可以将相同的函数应用于数组的元素。
例如,不是在下面的示例中查找单元格范围的标准差,而是可以将相同的函数应用于数组的元素吗?
我可以将所有数组元素复制到一个工作 sheet,但希望有一个更干净的解决方案。
Set myRange = ActiveSheet.Range("h3:bm3")
answer = Application.WorksheetFunction.StDev(myRange)
是的,StDev
可以与数组一起使用。
一维数组:
Dim x As Variant
x = Array(1, 2, 3, 4)
Debug.Print WorksheetFunction.StDev(x) ' returns 1.29099444873581
二维数组:
Dim x As Long
ReDim x(1 To 10, 1 To 10)
Dim i As Long, j As Long
For i = 1 To 10
For j = 1 To 10
x(i, j) = i
Next
Next
Debug.Print WorksheetFunction.StDev(x) ' returns 2.88675134594813
Arguments of StDev can either be numbers, arrays, or references that contain numbers.
根据此帮助信息,应该可以将相同的函数应用于数组的元素。