Excel 使用vba插入数组公式?

Excel 使用vba插入数组公式?,excel,vba,outlook,Excel,Vba,Outlook,我试图在excel中的单元格中插入一个数组公式,但出现错误,“无法为range类设置公式数组” 有人能告诉我我做错了什么吗?谢谢 intRow4 As Integer, _ intRow4 = excWks4.UsedRange.Rows.Count + 1 lastcell = excWks4.Cells(intRow4, 4).Address theform = "=IF(ISERROR(INDEX('Look Up Supplier Sheet'!$A$1:$G$10004,SMAL

我试图在excel中的单元格中插入一个数组公式,但出现错误,“无法为range类设置公式数组”

有人能告诉我我做错了什么吗?谢谢

intRow4 As Integer, _

intRow4 = excWks4.UsedRange.Rows.Count + 1

lastcell = excWks4.Cells(intRow4, 4).Address

theform = "=IF(ISERROR(INDEX('Look Up Supplier Sheet'!$A$1:$G$10004,SMALL(IF(LEFT('Look Up Supplier Sheet'!$B$1:$B$10004,5)=LEFT(" & lastcell & ",5),ROW($B$1:$B$10004)),ROW(1:1)),6)),"""",INDEX('Look Up Supplier Sheet'!$A$1:$G$10004,SMALL(IF(LEFT('Look Up Supplier Sheet'!$B$1:$B$10004,5)=LEFT(" & lastcell & ",5),ROW($B$1:$B$10004)),ROW(1:1)),6))"

excWks4.Cells(intRow4, 5).FormulaArray = theform
从-

如果使用此属性输入数组公式,则该公式必须 使用R1C1参考样式,而不是A1参考样式


因此,您需要将
$A$1
替换为
$R1$C1
等。

FormulaArray具有。根据
lastcell
的长度,您的长度至少为309个字符


通过缩短工作表名称,您可以得到不超过256个字符。

在哪里定义了
lastcell
?在我的代码顶部,编辑了我的代码以反映这一点如果我在单元格中手动输入公式,我会得到循环引用错误。你确定你的引用是正确的吗?谢谢,我尝试了这个,但是我得到一个对象不支持这个属性或方法错误