如何通过Macro在单元格中粘贴公式?

时间:2017-12-03 06:13:57

标签: excel vba excel-vba

我试图通过VBA在Excel单元格中粘贴公式,但没有运气。 当我尝试这个代码时,它完全有效 -

ActiveSheet.Range("B7").Value = "=VLOOKUP(A7,$A$1:$B$3,2,0)"

但是当我尝试这段代码时

ActiveSheet.Range("B7").Value = "=VLOOKUP(CONCATENATE(VLOOKUP(LOOKUP(2,1/($A$5:A7<>""),$A$5:A7),Instructions!$A$4:$B$40,2,0),NTFS!XFC7-2),'Trial Balance'!$I$55:$J$1048576,2,0)"

最终出现错误1004运行时错误 - 应用程序定义或对象定义错误。

我只想将公式粘贴到任何其他代码都可以工作的单元格中。请帮我解释发生此错误的原因,并请求您提出破解或替代粘贴公式。

提前致谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

ActiveSheet.Range("B7").Formula = "=VLOOKUP(CONCATENATE(VLOOKUP(LOOKUP(2,1/($A$5:A7<>""""),$A$5:A7),Instructions!$A$4:$B$40,2,0),NTFS!XFC7-2),'Trial Balance'!$I$55:$J$1048576,2,0)"

请注意,值已替换为公式和&lt;&gt;之后的引号被加倍了。

答案 1 :(得分:-1)

试试这个:

ActiveSheet.Range("B7").FormulaR1C1 = "=VLOOKUP(CONCATENATE(VLOOKUP(LOOKUP(2,1/($A$5:A7<>""),$A$5:A7),Instructions!$A$4:$B$40,2,0),NTFS!XFC7-2),'Trial Balance'!$I$55:$J$1048576,2,0)"