插入公式会导致运行时错误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中看起来像什么的精确想法。