数组公式通过VBA

时间:2014-07-08 11:05:07

标签: excel vba excel-vba

我正在尝试通过VBA写一个数组公式,但是收到错误"无法设置范围类"的FormulaArray属性。我试过两个' Range.FormulaArray'和' .Range.selection.FormulaArray'但没有任何作用。谢谢你帮助我。

Worksheets("sheet1").Range("Table2[[" & Me.cboSec.value & " Row Score Max]]").FormulaArray = formulae

1 个答案:

答案 0 :(得分:1)

这个最小的代码段对我有用:

Worksheets("sheet1").Range("A1:B4").FormulaArray = "=AVERAGE(C1:C5)"

这将具有从A1到B4的单元格,其显示单元格C1到C5中的数字的平均值,并且绑定到公式数组。

但问题提到了对表的结构化引用。正如Rory所提到的,在表中没有可能的公式数组。如果您尝试通过<CTRL><SHIFT><ENTER>手动将数组插入表中,则可以挖到地面,这通常不是编程方式。 Excel回答:“表格中不允许使用多单元格数组公式。”

但是为了至少用一组相等的公式填充Table的单元格,这个最小的代码段对我有用:

Worksheets("sheet1").ListObjects("Table2").DataBodyRange.Formula = "=SUM($F$1:$G$1)"

Worksheets("sheet1").ListObjects("Table2").DataBodyRange.Cells.Formula = "=SUM($F$1:$G$1)"

这是一个鼓舞人心的提示:http://www.myonlinetraininghub.com/excel-2007-tables

对于表格,录制宏无效,因为录制内容符合所需的最低复杂描述。