插入公式会导致运行时错误1004

我有一个插入一些公式的VBA脚本。 出于某种原因,它拒绝插入VLOOKUP函数; 它给出了运行时错误1004:应用程序定义或对象定义的错误。

我的代码如下:

Worksheets("Sheet1").Cells(row, 16).Formula = "=vlookup(O" & row & ";Sheet2!$A$2:$H$250;5;FALSE)" 

我一直在尝试各种各样的变化,找出什么是触发错误代码。 如果我尝试无稽之谈的公式

 Worksheets("Sheet1").Cells(row, 16).Formula = "=vlookp(O1)" 

它不会生成错误并将公式放在相应的单元格中。 如果我只更改一个字母,将vlookp(01)变成vlookup(01)就会再次产生错误。

任何想法是怎么回事,是什么原因导致这个错误?

TXS! 巴特

你正在使用; 作为你公式的分隔符,Excel是非常英语导向的,它喜欢在公式中find。

所以改变你的公式为:

 "=vlookup(O" & Row & ",Sheet2!$A$2:$H$250,5,FALSE)" 

或者改变:

 Worksheets("Sheet1").Cells(Row, 16).Formula 

至:

 Worksheets("Sheet1").Cells(Row, 16).FormulaLocal 

用逗号replace公式中的分号。

 Worksheets("Sheet1").Cells(Row, 16).Formula = "=VLOOKUP(O" & Row & ",Sheet2!$A$2:$H$250,5,FALSE)" 

不是一个直接的答案,而是解决您的问题的一种方法:
在单元格P2(或任何其他单元格)中手动input公式,然后按Ctrl + G转到debugging窗口,然后键入print range("p2").formula
这应该给出Excel预计公式在VBA中看起来像什么的精确想法。