Excel VLookup-Visual Basic-如何设置范围

Excel VLookup-Visual Basic-如何设置范围,excel,excel-formula,vba,Excel,Excel Formula,Vba,我在单元格D5中设置了一个Vlookup公式,用于检查单元格E5中的一些数据,执行下面的Vlookup,并返回结果: =VLOOKUP(E5,StockCodesBBG!A:J,2,FALSE) 我想做的是有一种方法可以自动计算我从E5向下填充的行数,然后为每个相应的单元格运行Vlookup公式 例如,假设我在E5、E6、E7中有数据,我希望公式能够应用于D5、D6、D7 我可以通过复制公式来自动填充,但它会留下一堆混乱的#N/a值,而E列中没有任何可参考的内容。如何避免单元格内的错误消息?您

我在单元格
D5
中设置了一个
Vlookup
公式,用于检查单元格
E5
中的一些数据,执行下面的
Vlookup
,并返回结果:

=VLOOKUP(E5,StockCodesBBG!A:J,2,FALSE)
我想做的是有一种方法可以自动计算我从
E5
向下填充的行数,然后为每个相应的单元格运行
Vlookup
公式

例如,假设我在
E5、E6、E7
中有数据,我希望公式能够应用于
D5、D6、D7


我可以通过复制公式来自动填充,但它会留下一堆混乱的
#N/a
值,而
E
列中没有任何可参考的内容。如何避免单元格内的错误消息?

您可以自动填充,但同时处理
#N/A
,这样您就不会看到这些讨厌的值:)

如果使用xl2003,请使用此选项

=if(iError(VLOOKUP(E5,股票代码sbbg!A:J,2,FALSE)),“”,VLOOKUP(E5,股票代码sbbg!A:J,2,FALSE))

=if(ISNA(VLOOKUP(E5,股票代码sbbg!A:J,2,FALSE)),“”,VLOOKUP(E5,股票代码sbbg!A:J,2,FALSE))

如果使用xl2007+,请使用此选项

=IFERROR(VLOOKUP(E5,股票代码sbbg!A:J,2,FALSE),”)


查看
iError
ISNA
iError
iError

此处不需要VBA:)
A:J
有点过头了,可能会影响性能:最好将查找范围缩小到您需要的单元格。您好,谢谢您的回复-这确实隐藏了#N/A值,但我没有提到的是,在返回这些值之后,有另一个无关的公式自动将返回的结果上传到另一个应用程序中(我没有写这一点!)。所以我不能在D列中返回任何假值,否则上传失败!然后不要使用错误处理,让单元格显示
#N/A
。然后,您可以简单地复制粘贴整个列作为值,然后执行查找和替换以删除
#N/a
?如果值为false,是否删除该行?如果您在
If(ISNA)
语句的
True
部分中添加了其他内容,为什么不将该值添加到
If(ISNA)
语句中呢?您好,我会这样做的,不幸的是,这张表将交给大量的业务用户,他们将无法解决如何做这件简单的事情!这就是我在寻找Vlookup范围函数的原因。谢谢你的建议@悉达多似乎有点过火了?