[英]Inserting Array Formula with VBA
I am trying to insert an array formula using VBA but I keep getting the error我正在尝试使用 VBA 插入一个数组公式,但我不断收到错误消息
"Unable to set the FormulaArray property of the Range class" “无法设置 Range 类的 FormulaArray 属性”
Sub Insert()
Range("J2").Select
Selection.FormulaArray = "=IFERROR(INDEX('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C, SMALL(IF(A2='Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$B:$B, ROW('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C)-MIN(ROW('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C))+1, ""), ROW(A1))),"")"
End Sub
I know about the 255 maximum character count so I shortened the formula to the below and I get the same error.我知道最大字符数为 255,所以我将公式缩短为下面的公式,但我得到了同样的错误。
Sub Insert()
Range("J2").Select
Selection.FormulaArray = "=IFERROR(INDEX('C:\[OrderLinesList.xlsx]Sales'!$C:$C, SMALL(IF(A2='C:\[OrderLinesList.xlsx]Sales'!$B:$B, ROW('C:\[OrderLinesList.xlsx]Sales'!$C:$C)-MIN(ROW('C:\[OrderLinesList.xlsx]Sales'!$C:$C))+1, ""), ROW(A1))),"")"
End Sub
Does anybody know where I am going wrong?有谁知道我哪里出错了? Thanks in advance!
提前致谢!
Please, try changing of:请尝试更改:
Selection.FormulaArray = "=IFERROR(INDEX('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C, SMALL(IF(A2='Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$B:$B, ROW('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C)-MIN(ROW('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C))+1, ""), ROW(A1))),"")"
with:和:
Range("J2").FormulaArray = "=IFERROR(INDEX('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C, SMALL(IF(A2='Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$B:$B, ROW('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C)-MIN(ROW('Z:\Customer Operations\2021\Tools\[OrderLinesList.xlsx]Sales'!$C:$C))+1, """"), ROW(A1))),"""")"
It is only a matter of doubling the double quotes when write the formula from VBA and no Selection
is necessary...从 VBA 编写公式时,只需将双引号加倍即可,无需
Selection
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.