这个IFERROR和VLOOKUP函数的问题出在哪里?
为什么没有输入项的时候显示的是某个分数,而不是0?图2显示64那一列,我是哪儿写的有问题吗?其它几列没有数据输入时候都是0啊。...
为什么没有输入项的时候显示的是某个分数,而不是0?图2显示64那一列,我是哪儿写的有问题吗?其它几列没有数据输入时候都是0啊。
展开
2个回答
展开全部
第一个 :
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
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(),从“评分标准”这个表里查找数据填入。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询