循环遍历函数VBA

我有3列独立variables(MSCI's)跟随着因variables列(没有集合数),如下所示:

MSCI Growth MSCI Value MSCI Small Cap Fund A Fund B Fund C etccc xxx yyyy zzzz xxx yyyy zzz xxx yyyy zzzz xxx yyyy zzzz xxx yyyy zzzz xxx yyyy zzzz xxx yyyy zzzz xxx yyyy zzzz xxx yyyy zzzz xxx yyyy zzzz xxx yyyy zzzz 

我需要使用Linest函数来对每个依赖项回归每个独立variables,并列出结果的值。 我将总是有3个独立variables,但是因variables(基金)

我的问题如下:

1)以下数据将产生9个结果值(每条线的斜率)。 我想把这些放在一张表中,我可以把它写入循环,还是必须单独完成? 示例结果表

  MSCI Growth MSCI Value MSCI Small Cap Fund A Coeff Coeff Coeff Fund B Coeff Coeff Coeff Fund C Coeff Coeff Coeff 

2)有些基金的行数与MSCIs(独立variables)没有相同的数目,如果是这样的话,那么最基本的function将不起作用,但是我需要在表格中产生一个错误信息并继续到下一个基金。 我不确定如何在循环中反映这一点。

我有一个工作的Linest函数,并为每个独立variables设置了我的范围

 Sub NestedLoops() Dim LastRow As Long Dim Sht As Worksheet Dim StartCell As Range Dim gRange As Range Set StartCell = Range("B9") LastRow = Cells(Rows.Count, 1).End(xlUp).Row Set gRange = Range(StartCell, Cells(LastRow, 2)) 'range for MSCI Growth Set vRange = Range("c9", Cells(LastRow, 3)) 'range for MSCI value Set cRange = Range("D9", Cells(LastRow, 4)) 'range for MSCI small Cap Range("M13").value = Application.LinEst(gRange, Range("G9:G112")) 

从这里我不确定在编写嵌套循环方面去哪里。 理想情况下,我希望Range(“G9:”G112“)每次增加一个列号 – 执行Linest(如果它具有相同的数据行数),如果没有则产生一个错误消息 – 列表结果和移动到下一个基金,重复这个过程,直到列空(没有更多的资金),重新开始,但使用下一个自variables(vRange)。

任何帮助/build议最好/最有效的方式来执行此任务将不胜感激。

代替使用名称范围尝试使用范围对象的偏移方法跨列移动