如何解决无法设置Range类的FormulaArray-小于255,不使用replace方法
全部:
我觉得这很痛苦,但是我已经将头撞墙了一段时间,似乎找不到解决办法。
在“ M3”中输入以下公式时
=IFERROR(IF(ISBLANK(VLOOKUP(A3&"|"&E3,CHOOSE({1,2},OLD_PR!$A$3:$A$374&"|"&OLD_PR!$E$3:$E$374,OLD_PR!$O$3:$O$374),2,FALSE)),"",VLOOKUP(A3&"|"&E3,"")
使用此代码(ActiveCell =“ M3”)
ActiveCell.FormulaArray = _
"=IFERROR(IF(ISBLANK(VLOOKUP(A3&" & Chr(34) & "|" & Chr(34) & "&E3,OLD_PR!$A$3:$A$" & OldPRLastRow & "&" & Chr(34) & "|" & Chr(34) & "&OLD_PR!$E$3:$E$" & OldPRLastRow & ",OLD_PR!$O$3:$O$" & OldPRLastRow & "),""""," _
& "VLOOKUP(A3&" & Chr(34) & "|" & Chr(34) & "&E3," _
& Chr(34) & Chr(34) & ")"
我在标题中看到运行时错误。
- 当我手动输入公式时,它会起作用。
- 该公式少于255个字符,无需替换,因此我在这里不会犯任何错误
- 我只将公式输入到单个单元格中
以上是我通过Google搜索发现的最常见错误,但不适用于我。我敢肯定这很愚蠢。
任何见识将不胜感激!
解决方法
参考this尝试
ActiveCell.FormulaArray = _
"=IFERROR(IF(ISBLANK(VLOOKUP(D3&" & Chr(34) & "|" & Chr(34) & "&E3,""ChoosePart"",2,FALSE)),""""," _
& "VLOOKUP(D3&" & Chr(34) & "|" & Chr(34) & "&E3," _
& Chr(34) & Chr(34) & ")"
ActiveCell.Replace """ChoosePart""","CHOOSE({1,2},OLD_PR!$A$3:$A$" & OldPRLastRow & "&" & Chr(34) & "|" & Chr(34) & "&OLD_PR!$E$3:$E$" & OldPRLastRow & ",OLD_PR!$O$3:$O$" & OldPRLastRow & ")"
,
由于O列包含文本值,因此可以选择...
ActiveCell.FormulaArray = "=LOOKUP(REPT(""z"",255),CHOOSE({1,INDEX(OLD_PR!$O$3:$O$" & OldPRLastRow & ",MATCH(A3&""|""&E3,OLD_PR!$A$3:$A$" & OldPRLastRow & "&""|""&OLD_PR!$E$3:$E$" & OldPRLastRow & ",0))))"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。