使用VBA的Excel 2007将公式合并到单元格中

我有一个从G11开始的值列表,并向下延伸了一个可变长度的列G.我有一个string数组,其中包含要求平均的G列数据的范围地址。 在从H11开始的H列中,我已经合并了希望显示平均值的单元格。 要求平均的G列单元的数量也是变化的。 下面的代码我尝试失败,因为公式是input的,而不是有范围(我)数组放入公式。

For i = 0 To range_num ActiveCell.Formula = "=AVERAGE(ranges(i))" Next i 

ranges()包含范围(以stringforms)进行平均。 例如:

ranges(i) = "G11:G15"

对于i = 0range_num是将要完成的平均数。

每个G列的值只包含在1个平均值中,每个要平均的值组是连续的,每个组直接在我想要出现平均值的合并单元格的左边。 有没有人有一些见解,我怎样才能更好地格式化我的代码来实现呢? 任何想法表示赞赏,谢谢。

公式input原因是因为您需要将它连接到string中。

 For i = 0 To range_num ActiveCell.Formula = "=AVERAGE(" & ranges(i) & ")" Next i 

如果我解释正确,你正在寻找一个代码片段,将循环通过一系列的单元格,并设置基于在另一个单元格中find的string的公式。 尝试以下操作:

 sub SetCellFormulas() dim sWS as worksheet dim aCell as range dim aRange as range dim Lrow as long set sws = thisworkbook.sheets("yourworksheetname") '*** Locate last cell with values in column G lrow = sws.Range("G11").end(xldown).row '*** Set range to loop through set arange = sws.Range("G11:G" & Lrow) for each acell in arange '*** set formula of cell 1 to the left of G to the concatenated formula aCell.offset(0,1).formula = "=AVERAGE(" & acell.value & ")" next acell end sub