我创建的公式适用于电子表格但不适用于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) "
答案 0 :(得分:1)
如果没有看到公式的其余部分,我会怀疑它超出了Excel对函数的一些内部限制。想到的可能性是:
函数中的参数:255
嵌套功能级别:64
公式内容长度:8,192个字符
您可以在Office支持页面here上找到更多信息。
那就是说,我很好奇为什么你需要建立一个3000字符的公式放在单元格中。这就是VBA的用途 - 将公式转换为用户定义的函数可能是解决方案。