For example, instead of finding standard deviation for the range of cells in the example below, is it possible to apply this same function to the elements of an array?
I could copy all the array elements to a working sheet, but hoping there's a cleaner solution.
Set myRange = ActiveSheet.Range("h3:bm3")
answer = Application.WorksheetFunction.StDev(myRange)
Yes, StDev
can be used with arrays.
1-D array:
Dim x As Variant
x = Array(1, 2, 3, 4)
Debug.Print WorksheetFunction.StDev(x) ' returns 1.29099444873581
2-D array:
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