vba使用vba插入数组公式?

时间:2014-11-12 11:41:05

标签: excel vba outlook

我正在尝试将数组公式插入到excel中的单元格中,但是我收到错误,“无法为范围类设置公式数组”

有人可以告诉我这里我做错了什么吗?感谢。

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

2 个答案:

答案 0 :(得分:0)

来自MSDN -

  

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

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

答案 1 :(得分:0)

FormulaArray 有一个255 character limit。你的字符数至少为309个字符,具体取决于lastcell的长度。

缩短工作表名称可以得到256个字符以下。