0
我有一個函數可以生成兩個數組(X
和Y
)。在VBA中將數組從一個函數傳遞到另一個
我想通過將此數組傳遞給另一個函數BETA
來對此函數中的兩個數組進行一些計算。這兩種功能都可以完全自行工作。我不知道如何正確地將數組傳遞給函數BETA
。以下是適用於內功能的代碼:
Function BETA(ByRef X As Range, ByRef Y As Range) As Variant
Dim i As Long
Dim B As Double
Dim X_SUM As Double, Y_SUM As Double
Dim X_MEAN As Double, Y_MEAN As Double
X_MEAN = Application.WorksheetFunction.Average(X)
Y_MEAN = Application.WorksheetFunction.Average(Y)
For i = 1 To UBound(X)
X(i) = X(i) - X_MEAN
Y(i) = Y(i) - Y_MEAN
Next i
X_SUM = WorksheetFunction.Sum(X)
Y_SUM = WorksheetFunction.Sum(Y)
B = (X_SUM * Y_SUM)/(X_SUM)^2
BETA = B
End Function
我沒有看到數組?你的意思是通過任何一個範圍? –
如果你想從函數返回一個對象,你需要在返回時使用'Set'關鍵字。所以'設置BETA = X_SUM'試試 – 2013-10-31 09:08:12
你究竟遇到了什麼問題?有沒有錯誤?如果是這樣,他們是什麼和什麼線? – user2140261