私はVBAで作業しています。私は非常に初心者です。私は基本的に、独立変数(MSCI Value、Growth and Small Cap)として機能する3列のデータと、その後にファンドデータ(従属変数)を含む多数の列が続く空白列を持っています。これらのほとんどは行数は同じですが、いくつかの行数は同じではありません。ネストループ内での線形関数の使用
私はLinest FunctionをExcelで使用して、独立した変数ごとに別々のファンドの係数(ベータ)を生成することを検討しています(MSCI成長、価値、スモールキャップ)。私は自分のデータとVBAを設定する最良の方法は何か分かりません。思考/アイデアは高く評価されます。
現在のところ私の考えはネストされたループです。最初の従属変数(列6)に対して最初の独立変数(MSCI Growth、列2)を回帰するためにLinest関数を使用し、範囲内のこの列番号は、列が空白になるまで増分されます)、これが起きたときに最初のファンドにループバックしますが、次の独立変数(MSCI Value、列3)に変更されます。このプロセスは、最後の独立変数(MSCI Growth、第4列)が最後のファンドに対して回帰されるまで繰り返されます。
これまでのところ、1)名前付き範囲を使用してLinest関数を作成していました。 2)ループの結果が配置されるテーブルを作成しています。
Set StartCell = Range("B9")
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Set gRange = Range(StartCell, Cells(LastRow, 2)) 'MSCI growth range
Range("M21").value = Evaluate("Linest(gRange,G9:G112)") 'column G contains the first fund.
このコードは実行されません、私はそれが配列の数式とは関係があると思います、私は係数が必要なので、全体の配列を実行する必要はありません。
私はセル参照を使用してみましたが、私は、私は#VALUE
Range("M22").value = Evaluate("Linest(Range((cells(9,2):cells(112,2)),Range(cells(9,7):cells(112,7)))")
は、たぶん私はこのことについて間違った道を進んでいましたコードを実行したときに、私は他のシート上で使用できるグローバルなマクロを作成したいが、私はその課題にどのようにアプローチするのか不明です。