Excel VBA – Vlookup&范围

我将Cl定义为范围,并尝试使用VLookUp从表中的数据中分配范围。

VLookUp获得的结果是一个范围地址(例如: e58 )。

我无法将其分配为范围。

 Set Cl= Range ("=vlookup(i, Range("a7:b28"), 2, False)") 

这不是你在VBA中运行公式的方法。 一些function在Application对象(包括VLookUp )中可用。

 Set cl = Range(Application.VLookup(i, Range("a7:b28"), 2, False)) 

对于其他人使用Application.WorksheetFunction对象

 Set cl = Range(Application.WorksheetFunction.VLookup(i, Range("a7:b28"), 2, False)) 

注意:这两种方法有一些细微的差别,特别是函数如何处理错误。 ant是的,你应该添加error handling到你的代码。

注意:即使你的方法确实有效,你也需要在a7:b28左右分隔"

 "=vlookup(i, Range(""a7:b28""), 2, False)"