这个IFERROR和VLOOKUP函数的问题出在哪里?

为什么没有输入项的时候显示的是某个分数,而不是0?图2显示64那一列,我是哪儿写的有问题吗?其它几列没有数据输入时候都是0啊。

第一个 :
Vlookup前面没有 Application或Application.Worksheetfunction 限定,而VBA自身没有这个函数,可以改为:
Cells(R, "J") = Application.IFError(Application.VLookup(Cells(R, "I"), Range("a1:B" & a11), 2, 0), " ")
第二个,测试未发现问题,只有在 Vlookup找不到返回错误时才提示出错。

另外注意: Range里面 "a1:B" & a11 中 a11是VBA的变量,如果要得到 A11单元格内容,至少要 写成 [a11]

最后一个 你认为正确的 ,比第二个的优点是 及时在Vlookup返回错误值的时候也不会提示出错,而是给出 #NA追问

有点儿晕。请问您能不能帮我写一条完整的?
需求就是:当H列没有输入数据时,I列的值为0,否则调用vlookup(),从“评分标准”这个表里查找数据填入。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-18
把你的TRUE改成0试试
相似回答