2017-12-03 247 views
0

我想通过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运行时错误结束 - 应用程序定义或对象定义的错误。

我只是希望公式粘贴到细胞中的任何其他代码会工作。请帮助我解释发生此错误的原因,并要求您提供一个破解或替代方法来粘贴公式。

在此先感谢!

+0

更改'“”'是'“”“”' – YowE3K

+0

确切位置在哪里,有这么多的时候,我已经使用他们? @ YowE3K –

+0

该公式中只有一个'''' - 部分说'$ A $ 5:A7 <>“”' – YowE3K

回答

-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)" 
+1

需要在四倍引号中间'A7 <>“”“”' – ashleedawg

+0

FormulaR1C1使用具有罕见类型单元格引用的,是这样的:范围(“D4”)。FormulaR1C1 =“= R [-1 ] C [-2] * 10" – z32a7ul

+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)" 

注意,值用式置换和<后引号>加倍。

+0

谢谢。有用! –

相关问题