运行时错误1004将公式放入单元格中

时间:2015-04-21 12:01:48

标签: vba

我创建的公式适用于电子表格但不适用于VBA。我在这里粘贴的只是整个公式的一部分;总计超过3,000个字符

如果我运行它,它可以工作

LastRow = Range("a" & Rows.Count).End(xlUp).Row
Range("cI2:cI" & LastRow).Formula = "=CONCATENATE(CONCATENATE(MID(""00"",1,2-LEN(A2)),A2))"

如果我运行此操作,则会出现运行时错误

LastRow = Range("a" & Rows.Count).End(xlUp).Row
Range("cI2:cI" & LastRow).Formula = "=CONCATENATE(CONCATENATE(MID(""00"",1,2-LEN(A2)),A2)), " & _
"CONCATENATE(MID(""00000000"",1,8-LEN(B2)),B2),""    "", CONCATENATE(C2,MID(""            "",1,12-LEN(C2))),CONCATENATE(MID(""00"",1,2-LEN(D2)),D2) "

1 个答案:

答案 0 :(得分:1)

如果没有看到公式的其余部分,我会怀疑它超出了Excel对函数的一些内部限制。想到的可能性是:

  

函数中的参数:255

     

嵌套功能级别:64

     

公式内容长度:8,192个字符

您可以在Office支持页面here上找到更多信息。

那就是说,我很好奇为什么你需要建立一个3000字符的公式放在单元格中。这就是VBA的用途 - 将公式转换为用户定义的函数可能是解决方案。