Function MovAv1(AvData As Variant, Steps As Long) As Variant
Dim MovAvA() As Variant, NumRows As Long, NumCols As Long
Dim i As Long, j As Long, MovSum As Double
AvData = AvData.Value2
NumRows = UBound(AvData)
NumCols = UBound(AvData, 2)
ReDim MovAvA(1 To NumRows, 1 To NumCols)
For j = 1 To NumCols
MovSum = 0
For i = 1 To Steps
MovSum = MovSum + AvData(i, j)
MovAvA(i, j) = CVErr(xlErrNA)
Next i
MovAvA(i - 1, j) = MovSum / Steps
For i = Steps + 1 To NumRows
MovSum = MovSum + (AvData(i, j) - AvData(i - Steps, j))
MovAvA(i, j) = (MovSum) / Steps
Next i
Next j
MovAv1 = MovAvA
End Function
This code works on rows. I need to average on cols.
Thank for the help.