为什么我的VBAfunction不能正常工作?

我对VBA和编程非常陌生,所以这可能是一个愚蠢的问题。 我写了下面的代码:

Function central(X) Dim xc(300, 10), xa(200) m = X.Rows.Count n = X.Columns.Count For j = 1 To n xa(j) = 0 For i = 1 To m xa(j) = xa(j) + X(i, j) Next i xa(j) = xa(j) / m For i = 1 To m xc(i, j) = X(i, j) - xa(j) Next i Next central = xc() End Function 

这应该输出一个matrix,其元素从其列的平均值中减去。

我的问题是,输出是移动一行和一列。 所以例如对于这个表格:

 1 1 1 2 2 2 3 3 3 

它给了我:

 0 0 0 0 -1 -1 0 0 0 

提前致谢!