Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 2007使用VBA将公式写入合并单元格_Vba_Excel_Excel Formula - Fatal编程技术网

Excel 2007使用VBA将公式写入合并单元格

Excel 2007使用VBA将公式写入合并单元格,vba,excel,excel-formula,Vba,Excel,Excel Formula,我有一个值列表,从G11开始,向下扩展一个可变长度列G。我有一个字符串数组,其中包含要平均的G列数据范围的地址。在从H11开始的H列中,我合并了希望显示平均值的单元格。要一起平均的G列单元格的数量也不同。我尝试的以下代码失败,因为公式是按原样输入的,而不是将ranges(I)数组值放入公式中 For i = 0 To range_num ActiveCell.Formula = "=AVERAGE(ranges(i))" Next i ranges()包含要平均的范围(以字符串形式)。

我有一个值列表,从G11开始,向下扩展一个可变长度列G。我有一个字符串数组,其中包含要平均的G列数据范围的地址。在从H11开始的H列中,我合并了希望显示平均值的单元格。要一起平均的G列单元格的数量也不同。我尝试的以下代码失败,因为公式是按原样输入的,而不是将ranges(I)数组值放入公式中

For i = 0 To range_num
    ActiveCell.Formula = "=AVERAGE(ranges(i))"
Next i
ranges()包含要平均的范围(以字符串形式)。例如:

范围(i)=“G11:G15”

对于
i=0
range\u num
是将要进行的平均数


每个G列值仅包含在1个平均值中,每个要平均的值组是连续的,并且每个组直接位于合并单元格的左侧,我希望在该单元格中显示平均值。有人对我如何更好地格式化代码以实现这一点有什么见解吗?非常感谢您的建议。

公式之所以输入“原样”,是因为您需要将其连接到字符串中

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

如果我的解释正确,那么您正在寻找一个代码片段,该代码片段将在一系列单元格中循环,并根据在另一个单元格中找到的文本字符串设置公式。请尝试以下操作:

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

ActiveCell.Formula=“=AVERAGE(&ranges(i)&”)”
?如果您附加一个工作表片段来帮助可视化问题,这会有所帮助。我有您的答案来提高其可读性。