共分散計算に関するヘルプ/ガイダンスが必要です。以下に、10 年間の株式データの共分散を計算する手順を書きました。問題は、添え字が範囲外であることを示すエラーが発生することです。私が関数を呼び出す方法は
CalcCovarAll firstColPick:=17、SecColPick:=17、ColPrint:=42
'firstColPick は、最初の列ピックのアドレスです
'secColPick は 2 番目の列ピックのアドレスです
'colPrint は、セルの特定の列に出力を印刷することです。
迅速なヘルプは非常に役立ちます。私は機能を正しく実装していないと思います
Sub CalcCovarAll(ByVal firstColPick As Integer, ByVal SecColPick As Integer, ByVal ColPrint As Integer)
Dim secondPick As Range
Dim secondValue As Variant
Dim firstPick As Range
Dim firstValue As Variant
Dim wksSheet As Worksheet
Dim rowPrint As Range
Dim cvaluePrint As Variant
Dim Row As Integer
Dim col As Integer
'setting up the active worksheet
Set wksSheet = Workbooks("VaR_cw2 (2).xlsm").Worksheets("Sheet1")
'setting up the pickup of first column
Set firstPick = Range(Cells(4, firstColPick), Cells(2873 + 1, firstColPick))
firstValue = firstPick.Value
'setting up pickup of second column
Set secondPick = Range(Cells(4, SecColPick), Cells(2873 + 1, SecColPick))
secondValue = secondPick.Value
'setting up column printing
Set rowPrint = Range(Cells(5, ColPrint), Cells(2873 + 1, ColPrint))
cvaluePrint = rowPrint.Value
For Row = LBound(secondValue) To UBound(secondValue) - 1
cvaluePrint(Row + 1, 1) = Application.Covar(firstValue, secondValue)
Next Row
rowPrint = cvaluePrint
End Sub