我正在使用VBA,我非常喜歡新手。我基本上有3列數據作爲獨立變量(MSCI價值,增長和小盤),然後是一個空白列,後面是包含基金數據(因變量)的許多列。其中大部分具有相同的行數,但有一些不具備。在嵌套循環中使用最小函數
我期待在Excel中使用Linest函數分別生成每個基金的係數(beta)和每個獨立變量(MSCI growth,Value,Small cap)。我不確定什麼是設置我的數據和vba的最佳方式。想法/想法將不勝感激。
目前我的想法是一個嵌套循環。因此,我使用Linest函數將第一個自變量(MSCI增長,第2列)與第一個因變量(第6列)進行比較,並且該範圍內的該列號每次增加,直到該列爲空(沒有更多資金),當發生這種情況時,它會循環回第一筆資金,但會變爲下一個獨立變量(MSCI值,第3列)。重複這個過程直到最後一個自變量(MSCI增長,第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)))")
也許我要對這個錯誤的方式,我想創建一個全球性的宏觀我可以在其他表使用,但我不確定如何處理任務。